2011-08-17 91 views
2

如何從BufferedReader獲得BufferedWriterBufferedReader到BufferedWriter

我希望能夠做這樣的事情:

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

回答

10

您可以使用Apache的公地以下IO:

IOUtils.copy(reader, writer); 

網站here

+0

請添加一個對apache.commons的引用來完善這個答案。 – amit

+0

謝謝...我現在就試試吧... – Smith

+0

嗨Buhb,它說「方法副本是爲類型字符串定義的」。我想我做錯了什麼,但我不知道是什麼? – Smith

1

如果你想要知道發生了什麼:

將來自閱讀器的所有輸入複製到第Ë的InputStream

類似的東西太多:

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

+0

謝謝......我現在就試試吧...... – Smith

0

的BufferedWriter構造不超載的接受讀者對不對? Buhb說的是正確的。

​​
+0

它說方法副本是定義的類型字符串 – Smith

0

您可以使用管道讀/寫器(link)。這正是他們設計的。不確定你可以將它們放到你已經通過的現有緩衝閱讀器上。你必須故意在自己周圍構建buf讀者。