Цепочка потоков в Java

Это плохой стиль - хранить ссылки на потоки «ниже» по цепочке фильтров и снова использовать эти потоки более низкого уровня, или даже менять один тип потока на другой? Например:

    OutputStream os = new FileOutputStream("file");
    PrintWriter pw = new PrintWriter(os);
    pw.print("print writer stream");
    pw.flush();
    pw = null;
    DataOutputStream dos = new DataOutputStream(os);
    dos.writeBytes("dos writer stream");
    dos.flush();
    dos = null;
    os.close();

Если да, то каковы альтернативы, если мне нужно использовать функции обоих потоков, например если я хочу записать в поток несколько строк текста, за которыми следуют двоичные данные, или наоборот?

5
задан lxgr 2 November 2011 в 21:10
поделиться