我读了一篇教程'用BufferedInputStream读取String文件',我从这里得到了一个代码:
问题是这一行:
// byte array to store input
byte[] contents = new byte[1024];
那么,我怎样才能确保它是1024字节?如果我有一个1025字节的数据,我的代码将会中断。那么,我怎样才能使它更通用呢?谢谢。
答案 0 :(得分:1)
在您引用的代码中,通过调用
填充数组byte[] contents = new byte[1024];
int bytesRead=0;
bytesRead = bin.read(contents));
bin.read将查看内容的大小,并从流中读取最多1024个字节。
答案 1 :(得分:0)
不,它不会破裂。
魔术就在这里
while ((bytesRead = bin.read(contents)) != -1) {
bin.read(contents))
它会从bytes
读取下一组file
。
我问的问题:How the buffer byte array is continuously filling while streaming?