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