gpt4 book ai didi

java - 在 Java 中读取 txt 文件时出现 EOFException

转载 作者:行者123 更新时间:2023-12-01 10:08:23 25 4
gpt4 key购买 nike

我使用 Google 一段时间了,但我仍然感到困惑。当我使用 FileOutputStream 将一些文本写入 txt 文件,然后使用 FileInputStream 读取我的文件时,一切正常。但是,当我手动在 txt 文件中输入一些单词,然后以 UTF-8 格式保存时,出现了 EOFException。这是我的输入代码:

StringBuilder s = new StringBuilder();
FileInputStream inputStream = new FileInputStream("filename");
DataInputStream in = new DataInputStream(inputStream);
while (in.available()>0) {
s.append(in.readUTF());
}
in.close();
System.out.println(s);

最佳答案

  • 可以由 readUTF() 读取的文件必须已由 writeUTF() 写入。不是通过FileOutputStream
  • writeUTF()写入的文件不是文本文件。它是一个由 16 位长度的单词和字符串序列组成的文件,采用修改后的编码,如 Javadoc 中所述。
  • available() > 0 不是文件结尾的有效测试。

正如您所说,它是一个文本文件,并且您的代码不起作用,我建议您应该使用 BufferedReader.readLine()。并且没有 ready() 测试。 readLine() 将在流末尾返回 null。

关于java - 在 Java 中读取 txt 文件时出现 EOFException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com