2

BufferedWriterからを取得するにはどうすればよいBufferedReaderですか?

私はこのようなことをしたいと思います:

BufferedReader read  = new BufferedReader(new InputStreamReader(...));
BufferedWriter write = new BufferedWriter(read);
4

5 に答える 5

8

Apache commons io から以下を使用できます。

IOUtils.copy(reader, writer);

サイトはこちら

于 2011-08-17T08:40:12.170 に答える
1

何が起こるか知りたい場合:

リーダーからのすべての入力は入力ストリームにコピーされます

似たようなもの:

 private final void copyInputStream( InputStreamReader in, OutputStreamWriter out )      throws IOException
  {
    char[] buffer=new char[1024];
    int len;
    while ( ( len=in.read(buffer) ) >= 0 )
      {
      out.write(buffer, 0, len);
      }
  }

The Really big Index の入力と出力の詳細

于 2011-08-17T09:12:41.487 に答える
0

BufferedWriter コンストラクターは、リーダーを受け入れるためにオーバーロードされていませんか? バブの言ったことは正しかった。

BufferedWriter  writer = new BufferedWriter(
new FileWriter("filename_towrite"));    

IOUtils.copy(new InputStreamReader(new FileInputStream("filename_toread")), writer);
writer.flush();
writer.close();
于 2011-08-17T10:13:28.290 に答える
0

Piped Read/Writers (リンク) を使用できます。これはまさに彼らが設計されたものです。渡された既存のバッファリングされたリーダーにそれらを再調整できるかどうかはわかりません。意図的に buf リーダーを自分で構築する必要があります。

于 2012-01-06T17:51:48.340 に答える