如何检测java中的换行符

kam*_*mil 6 java text newline

是的,我已经阅读了其他一些关于换行的帖子,但他们没有帮助我.

我的Java程序应该读取.PHP文件并将源代码拆分为逐行格式.问题是我似乎无法真正区分一个换行符.

我试图使用/ n没有工作....我试图使用/ r/n没有工作.....

这是一个例子

step_B = step_A.replaceAll("\n", "XXX");
Run Code Online (Sandbox Code Playgroud)

我试图用单词XXX替换换行符,但它没有用.

这里是我想要拆分的php的一个示例,我设法将这些行分开使用; 作为分隔符,但我现在要进一步完善它.

$ALL_AUTH = mysql_fetch_row($author_lookup);
    //preparing to display the output in the table
    echo "<tr>";
Run Code Online (Sandbox Code Playgroud)

我希望它输出这样的东西

INFO:  $ALL_AUTH = mysql_fetch_row($author_lookup)

INFO:  //preparing to display the output in the table 

INFO:  echo "<tr>"
Run Code Online (Sandbox Code Playgroud)

但我得到了这个

INFO:  $ALL_AUTH = mysql_fetch_row($author_lookup)

INFO:  //preparing to display the output in the table  echo "<tr>"
Run Code Online (Sandbox Code Playgroud)

在评论结束于"表格"一词后,应用程序似乎无法检测到有换行符.有没有办法做到这一点 ?最好不用硬编码字表或类似的东西.

哦,我发现了这个错误,我在早期的代码块上使用了一些正则表达式的转换,这搞砸了新行......代码块变成了一个庞大的文本行!因此,没有换行感谢您的时间!

Mik*_*ark 18

如果您已将数据包含在字符串中:

String[] lines = string.split("\r\n|\r|\n");
for (String line : lines) {
    System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)

或直接从文件中读取行:

BufferedReader br = new BufferedReader(new FileReader("myfilename"));
String line = null;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)

Java 7+有一种方便的方法来直接从文件系统读取行:

Path path = FileSystems.getDefault().getPath("myfilename");
List<String> lines = Files.readAllLines(path, Charset.defaultCharset());
for (String line : lines) {
    System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)

Java不执行自动字符集检测,因此您负责在读取文本文件时正确设置字符集; 否则可能无法正确读取字符.别忘了保持整洁:.close()你的文件句柄.

  • 这或直接使用`BufferedReader`逐行读取文本文件. (2认同)