是的,我已经阅读了其他一些关于换行符的帖子,但他们没有帮助我。
我的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>";
我希望它输出类似这样的东西
INFO: $ALL_AUTH = mysql_fetch_row($author_lookup)
INFO: //preparing to display the output in the table
INFO: echo "<tr>"
但我得到了这个
INFO: $ALL_AUTH = mysql_fetch_row($author_lookup)
INFO: //preparing to display the output in the table echo "<tr>"
在评论结束于&#34; table&#34;后,应用似乎无法检测到有换行符。有没有办法做到这一点 ?最好不要对单词表或类似的东西进行硬编码。
哦,我发现了这个错误,我在早期阶段对代码块使用了一些正则表达式的变换,这搞乱了新行......代码块变成了一个庞大的文本行!因此没有换行符 谢谢你的时间!
答案 0 :(得分:18)
如果数据已经包含在字符串中:
String[] lines = string.split("\r\n|\r|\n");
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);
}
Java不执行自动字符集检测,因此您负责在读取文本文件时正确设置字符集;否则可能无法正确读取字符。别忘了保持整洁:.close()你的文件处理。
答案 1 :(得分:1)
根据您用来阅读PHP的Java类,使用BufferedReader.readLine之类的内容。它会为您抓取一行文字,而不必担心\n
或\r\n
疯狂。
答案 2 :(得分:0)
我相信我有一个解决方案。你是对的,/ n什么都不做。但是,java使用\n
分隔行。请注意反斜杠而不是斜杠。
尝试使用\n
代替/n
修改
实际上,我只是重新阅读你的代码。据说你做得很好。只需确保您的实际代码是这样的。否则,这个答案对你没有帮助,但它可以帮助别人。