gpt4 book ai didi

java - 为什么此 Java 代码不使用 # 跳过行?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:45:09 28 4
gpt4 key购买 nike

我是个新手,但我正在尝试让 Java 脚本读取的外部 .txt 文件能够在文件的开头包含一些注释,以便其他人可以轻松地编辑它并添加更多的是它。但是,如果文件包含#(为注释行指定的符号),它只会返回错误,即“文件中存在格式错误”(IOException - 所以它正在通过第一个“IF”...... )有人可以帮忙吗?

这是处理脚本前面调用的 .txt 文件中的注释行的代码部分:

   while ((line = br.readLine()) != null) {
line = line.trim();
if (line.length() < 1 || line.charAt(0) == '#') { // ignore comments
continue;
}
final String[] parts = line.split("=");
if (parts.length != 2) {
throw new IOException("Format error in file "
+ JLanguageTool.getDataBroker().getFromRulesDirAsUrl(getFileName())
+ ", line: " + line);
}

input.txt 文件在第一行中断它:

#This is a Test
ឲ្យ|ឱ្យ=អោយ
កំពស់=កម្ពស់
កម្នាញ់=កំណាញ់

这是实际的错误:

Caused by: java.io.IOException: Format error in file

file:/D:/Documents......./coherency.txt, line: #This is a Test at rules.km.KhmerSimpleReplaceRule.loadWords(KhmerSimpleReplaceRule.java:165) at rules.km.KhmerSimpleReplaceRule.loadWords(KhmerSimpleReplaceRule.java:82) ...33 more

堆栈跟踪错误:

Caused by: java.io.IOException: Format error in file [Ljava.lang.StackTraceElement;@1cb2795 at km.KhmerSimpleReplaceRule.loadWords(KhmereSimpleReplaceRule.java: 169)

最佳答案

您的第一个可见字符前面可能有一个 UTF-8 字节顺序标记。大多数编辑器不会显示这些字符,因为唯一预测内容的编码并且 Java 不会删除 UTF-8 字节顺序标记(与 UTF-16 和 32 不同)。如果确实存在 UTF-8 BOM,则您必须自己删除这三个字节。

有关更多详细信息,请参阅 Java-Bug 6378911 .

关于java - 为什么此 Java 代码不使用 # 跳过行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4678108/

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