如何在java中检测换行符

如何在java中检测换行符,java,text,newline,Java,Text,Newline,是的,我读过其他一些关于换行符的帖子,但它们对我没有帮助 我的Java程序应该读取一个.PHP文件,并将源代码拆分为逐行格式。问题是我似乎无法真正区分一个断线和另一个断线 我试图使用/n不起作用。。。。 我试图使用/r/n无效 这里有一个例子 step_B = step_A.replaceAll("\n", "XXX"); 我试着用XXX这个词来代替换行符,但没用 下面是我想要拆分的php示例,我使用;作为分隔符,但我现在需要对它进行进一步的细化 $ALL_AUTH = mysql_fetch

是的,我读过其他一些关于换行符的帖子,但它们对我没有帮助

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

我试图使用/n不起作用。。。。 我试图使用/r/n无效

这里有一个例子

step_B = step_A.replaceAll("\n", "XXX");
我试着用XXX这个词来代替换行符,但没用

下面是我想要拆分的php示例,我使用;作为分隔符,但我现在需要对它进行进一步的细化

$ALL_AUTH = mysql_fetch_row($author_lookup);
    //preparing to display the output in the table
    echo "<tr>";
$ALL\u AUTH=mysql\u fetch\u行($author\u lookup);
//准备在表中显示输出
回声“;
我想让它输出这样的东西

INFO:  $ALL_AUTH = mysql_fetch_row($author_lookup)

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

INFO:  echo "<tr>"
INFO:$ALL\u AUTH=mysql\u fetch\u行($author\u lookup)
INFO://准备在表中显示输出
信息:echo“”
但是我得到了这个

INFO:  $ALL_AUTH = mysql_fetch_row($author_lookup)

INFO:  //preparing to display the output in the table  echo "<tr>"
INFO:$ALL\u AUTH=mysql\u fetch\u行($author\u lookup)
信息://准备在表echo“”中显示输出
应用程序似乎无法检测到注释在单词“table”结束后是否有换行符。有办法做到这一点吗?最好不要硬编码单词表或类似的东西

Ohhhh我发现了错误,我在早期阶段通过一些正则表达式对代码块进行了转换,这把换行符搞砸了。。。。代码块变成了一行巨大的文本!因此没有换行
谢谢你们的时间,伙计们

我相信我有一个解决办法。你是对的,事实上/n什么都不做。但是,java使用
\n
分隔行。请注意反斜杠而不是斜杠

尝试使用
\n
而不是
/n

编辑


事实上,我只是重读了你的代码。据我所知,你做得很好。只要确保您的实际代码是这样的。否则,此答案对您没有帮助,但可能对其他人有帮助。

如果您的数据已经存在于字符串中:

String[] lines = string.split("\r\n|\n|\r");
for (String line : lines) {
    System.out.println(line);
}
或者直接从文件中读取行:

BufferedReader br = new BufferedReader(new FileReader("myfilename"));
String line = null;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
Java 7+有一种直接从文件系统读取行的方便方法:

Path path = FileSystems.getDefault().getPath("myfilename");
List<String> lines = Files.readAllLines(path, Charset.defaultCharset());
for (String line : lines) {
    System.out.println(line);
}
Path Path=FileSystems.getDefault().getPath(“myfilename”);
列表行=Files.readAllLines(路径,Charset.defaultCharset());
用于(字符串行:行){
系统输出打印项次(行);
}

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

根据您用来读取PHP的Java类,请使用以下命令。它将为您抓取一行文本,而您无需担心
\n
\r\n
疯狂。

这或直接使用
BufferedReader
逐行读取文本文件。“\n”分隔符用于Windows。如果您使用的是Java 7,那么您总是可以通过获取当前操作系统使用的行分隔符。对于旧版本,可以使用
System.getProperty(“line.separator”)
。请注意,只有当文件创建在与您相同的操作系统上时,这才有用。