2011-10-20 96 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(冲洗和重复,直到没有更多我)。