这段代码中的字节数组大小是多少?我可以让它更通用吗?

时间:2013-08-12 11:08:33

标签: java arrays io buffer byte

我读了一篇教程'用BufferedInputStream读取String文件',我从这里得到了一个代码:

http://examples.javacodegeeks.com/core-java/io/bufferedinputstream/read-file-in-string-with-bufferedinputstream/

问题是这一行: // byte array to store input byte[] contents = new byte[1024];

那么,我怎样才能确保它是1024字节?如果我有一个1025字节的数据,我的代码将会中断。那么,我怎样才能使它更通用呢?谢谢。

2 个答案:

答案 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?