Java文件 - 您可以使用readUTF从文本文件中读取字符串吗?
答案 0 :(得分:1)
您可以使用readUTF从文本文件中读取字符串吗?
答案:不。
文本文件包含(根据定义 1 )只是人类可读的文本。
readUTF
方法读取一个字符串,该字符串已被编码为字符串长度的2字节非文本表示,后跟UTF-8编码字符。如果格式(在文件中)与上述格式不符,则您可能会收到无效字符串或异常。
在纯文本文件中,您将找不到类似的字符串表示形式。字符串长度将在文本文件中显示为几个“垃圾”字符。
readUTF
方法用于读取由相应的writeUTF
方法编写的字符串。
1 - 如果您(OP)不同意此定义,请在此问题的上下文中准确解释“文本文件”的含义。
答案 1 :(得分:0)
如果使用writeUTF
写入文件,则可以。 writeUTF
首先写一个short
(表示即将写入的String
的长度),然后写入实际的String
。只要您的文件采用该格式,它就能完美运行。
如果您想知道如何使用它,请阅读DataInputStream#readUTF
的文档以供阅读,DataOutputStream#writeUTF
阅读。
示例(在Java 10中):
try (var stream = new DataInputStream(Files.newInputStream(Paths.get("file.txt")))) {
var text = stream.readUTF();
}