4

我有一个文本文件,其中每隔一行包含数据。我想获取每个非空行的内容。鉴于文件的整个文本,我首先尝试使用myText.split("\n\n"). 令我惊讶的是,它不起作用。我在 Windows 上工作。

4

1 回答 1

5

Windows 使用CRLF作为行分隔符。你正在分裂LF。那是行不通的。

一种安全的方法是使用:

System.getProperty("line.separator");

在您的操作系统上获得适当的分隔符。

String newLine = System.getProperty("line.separator");
myText.split("(?:" + newLine + ")+");

您可能正在读取在不同操作系统上创建的文件。那么上面的方法就不行了。更好的方法是使用带有CRand的字符类LF,正如@Marko 的评论中所指定的:

myText.split("[\r\n]+");
于 2013-08-09T08:49:32.903 回答