2011-10-20 64 views
2

在Java ...從BufferedReader將數據寫入文件?

我有數據存儲在BufferedReader中。 (我把它作爲對HTTP POST請求的響應。)

如何將這個(二進制)數據寫入文件?

我知道如何將字符串寫入文件,但是如何將BufferedReader中的數據放入文件中。

在此先感謝!

+0

您使用什麼HTTP客戶端庫來執行HTTP POST? –

回答

6

不要使用Reader來獲取字節。讀取器用於讀取字符數據,而不是二進制數據。直接使用InputStream。

void write(InputStream is, OutputStream os) throws IOException { 
    byte[] buf = new byte[512]; // optimize the size of buffer to your need 
    int num; 
    while ((num = is.read(buf)) != -1) { 
     os.write(buf, 0, num); 
    } 
} 
+0

輸出流清晰 - 我可以爲此創建FileOutputStream。如何將我的BufferedReader轉換爲InputStream? – klyngbaek

+0

爲什麼你必須使用讀卡器?爲什麼不能直接使用InputStream來獲取字節? – RHT

+0

@thehanseatic你不會把你的'BufferedReader'變成'InputStream'。你*用'InputStream'開始*。由於你有二進制數據,使用'BufferedReader'是不正確的。 – EJP

1

Basic I/O開始,然後做我,然後o,或者如果你想節省內存I/O,I/O I/O(沖洗和重複,直到沒有更多我)。