我想知道使用readUTF()/ readInt()/ etc时是否可以检测二进制文件的结尾。函数(DataInputStream方法)。这是代码
try(DataInputStream reader = new DataInputStream(new BufferedInputStream(new FileInputStream("file.dat")))){
String input;
while((input = br.readUTF()) != null){ //something like that
//some code
}
}catch(IOException error){
//handling exception
}
如果不是,对于这种情况推荐的解决方案是什么?谢谢你的帮助!
最佳答案
基于文档中的readUTF,我看不到一种优雅的方式,也许您可以读到直到EOFException
像这样:
while(true){
try{
input = reader.readUTF();
}
catch(EOFException e) {
//....
}
}