【发布时间】:2015-10-23 19:28:10
【问题描述】:
给了我两个文本文件,一个使用 \n 作为换行符,另一个使用 \r\n。我只想能够检查这两个中的哪一个。我想使用 BufferedReader 逐个字符读取并搜索 \(使用 \)然后检查下一个字符是什么,但是当我在 txt 文件中搜索任何 \s 时,我没有得到任何结果,循环刚刚结束。
现在,我只是试图通过打印出 \ 及其后面的任何字符来进行测试,所以我应该在运行文件时打印出一堆 \n 或 \r,但我只是完成了打印。有什么建议吗?
char x;
while(reader.ready())
{
x = (char) reader.read();
if(x == '\\')
System.out.println(x + "" + (char) reader.read());
}
System.out.println("Done");
【问题讨论】:
-
reader.read() 不返回 int 吗?难道你不能寻找 \r 和 \n 的整数值吗? techonthenet.com/ascii/chart.php 这表明值 10 和 13 分别是换行符和回车符。
-
你对 '\n' 和 '\r' 是什么感到困惑。它们是单个字符,而不是两个字符。 '\n' 的值为 ASCII 值 10,'\r' 的值为 13。
标签: java escaping line-breaks