有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    DataInputStream.readUTF不适合读取文本文件

    它实际上是为读取嵌入(二进制)数据文件中的字符串而设计的。该方法需要的是一个2字节的二进制无符号整数,它给出UTF编码字符串的长度(字节)。然后是“修改的UTF-8”数据的字节。有关更多详细信息,请参阅以下链接:

    如果试图使用DataInputStream.readUTF()读取常规文本文件,它会将文件中的前两个字符错误地理解为字节计数,然后尝试读取该字节数。根据(假定的)计数和文件大小,可能会尝试读取超过文件结尾的内容。。。导致EOF异常

    以下是一些问题;解释了从文本文件中读取文本的一些正确方法:

    但请注意,它们都不涉及DataInputStream。该类用于读取二进制数据文件,而不是文本文件