最近,当我尝试在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/