问题描述
循环读取文件,写文件部分到底有什么问题inputstream的read返回的是读取到长度大文件的读写到底怎么样才正确InputStreamdataStream=newByteArrayInputStream(imgOutputStream.toByteArray());outputStream=newFileOutputStream(newFile("c:\test.jpg"));byte[]buffer=newbyte[1024];intbytesRead=0;while((bytesRead=dataStream.read(buffer,0,buffer.length))!=-1){outputStream.write(buffer,0,bytesRead);}
解决方案
解决方案二:
顶上去
解决方案三:
报什么错误了?代码也没有贴全,你读取的数据源是什么?一个文件?还是一个字节数组?
解决方案四:
我只是想问while((bytesRead=dataStream.read(buffer,0,buffer.length))!=-1){outputStream.write(buffer,0,bytesRead);}这段代码片段有什么问题
解决方案五:
引用3楼cii_yinbin的回复:
我只是想问while((bytesRead=dataStream.read(buffer,0,buffer.length))!=-1){outputStream.write(buffer,0,bytesRead);}这段代码片段有什么问题
没什么问题啊。bytesRead是实际读取到字节数。一般写 >0就可以了。大文件,要适当的做outputStream.flush()动作。否则内存会吃得很厉害,甚至溢出。
时间: 2024-11-03 04:14:56