在Java中,哪种按字节读取文件的方法更好:
我正试图决定哪种方式更适合一次读取一个文件(字节)。这两种方法中的一种比另一种好吗?如果是,为什么 (一) (二)在Java中,哪种按字节读取文件的方法更好:,java,idioms,Java,Idioms,我正试图决定哪种方式更适合一次读取一个文件(字节)。这两种方法中的一种比另一种好吗?如果是,为什么 (一) (二) 另一个常见的成语是。它既没有冗余语句,也没有中断语句 int bytesRead; while ( -1 != (bytesRead = fileContent.read(buffer)) { ... } 第一个(只需修复它并将while(bytesRead!=1)更改为while(bytesRead!=1))。它更清楚地说明了何时完成while循环。谢谢。这样做的
另一个常见的成语是。它既没有冗余语句,也没有中断语句
int bytesRead;
while ( -1 != (bytesRead = fileContent.read(buffer)) {
...
}
第一个(只需修复它并将
while(bytesRead!=1)
更改为while(bytesRead!=1)
)。它更清楚地说明了何时完成while循环。谢谢。这样做的优点是可以消除while(true)中断业务,但也不需要使用bytesRead=fileContent.read(buffer);出现在两个地方。不过读起来有点尴尬,不客气。这个习惯用法至少可以追溯到C编程。当你看到它更多的时候,它可能开始看起来不那么尴尬,更像是一个熟悉的结构。
byte[] buffer = new byte[FILE_RETRIEVAL_BUFFER_SIZE];
while (true) {
int bytesRead = fileContent.read(buffer);
if (-1 == bytesRead)
{break;}
fileOnDisk.write(buffer, 0, bytesRead);
}
int bytesRead;
while ( -1 != (bytesRead = fileContent.read(buffer)) {
...
}