【发布时间】:2012-11-30 16:42:59
【问题描述】:
我正在尝试在一个简单的 Java 程序中使用 java.util.Scanner 读取下面的文本文件。
0001;GUAJARA-MIRIM;RO
0002;ALTO ALEGRE DOS PARECIS;RO
0003;PORTO VELHO;RO
我使用下面的代码读取了文本文件:
scanner = new Scanner(filerader).useDelimiter("\\;|\\n");
while (scanner.hasNext()) {
int id= scanner.nextInt();
String name = scanner.next();
String code = scanner.next();
System.out.printf(".%s.%s.%d.\n", name, code, id);
}
结果是:
.GUAJARA-MIRIM.RO.1
.
.ALTO ALEGRE DOS PARECIS.RO.2
.
.PORTO VELHO.RO.3
.
但是每行的第三个标记的结果在末尾有一个不方便的 '\r' 字符(ANSI 代码 13)。我不知道为什么(我在格式化字符串上使用了 '.' 字符来明确 '\r' 的位置)。
所以,
- 为什么第三个标记的末尾有一个“\r”?
- 如何绕过它。
使用code.substring(0, 2) 之类的解决方法非常简单,但我想了解为什么那里有一个“\r”字符。
【问题讨论】:
-
嗨!我该怎么做?我看到我的费率为 0%,但我不知道如何更改它。
-
只需单击您的问题答案旁边的复选标记之一
标签: java file-io io text-files