最近,当我尝试在Android应用程序中实现基本文件下载程序时,我在使用InputStreams和OutputStreams时遇到了麻烦。

我使用apache HttpClient类获得了InputStream对象,然后尝试将流写入文件..但是奇怪的是,当我缓冲InputStream或OutputStream时,我得到了不可读的文件....这是代码。

//为了使代码简洁,我删除了异常并关闭了流。

private void download(InputStream in,String fileName){

//if i dont use the buffered thing and read directly from in everything is ok
// same is the buffered out i had to use in/outstream
BufferedInputStream bufferedIn = new BufferedInputStream(in);
FileOutputStream fout = new FileOutputStream(new File(fileName));

BufferedOutputstream  bufferedOut = new BufferedOutputstream(fout);
int read = -1;

while((read = bufferedIn.read()) != -1){
   bufferedOut.write(read);
}
//close the buffers
}

最佳答案

完成后,您必须刷新缓冲的输出流。

关于java - BufferedInputStream和BufferedOutputstream是否不同于InputStream和Outputstream,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27467174/

10-14 17:27
查看更多