作为我对文件读取问题的回答的回应,一位评论者表示
(该代码假设文件长度不超过2GB)
除了IOException,还有什么原因会导致read方法无法检索整个文件内容?
编辑:
代码的思路(以及我回答的问题的OP的目标)是将整个文件一次性读入内存块中,这就是为什么buffer_size = file_size。
FileInputStream.read(byte[])
不能保证填满缓冲区。File file = /* ... */
long len = file.length();
byte[] buffer = new byte[(int)len];
FileInputStream in = new FileInputStream(file);
in.read(buffer);
(该代码假设文件长度不超过2GB)
除了IOException,还有什么原因会导致read方法无法检索整个文件内容?
编辑:
代码的思路(以及我回答的问题的OP的目标)是将整个文件一次性读入内存块中,这就是为什么buffer_size = file_size。