我有一个文本文件,其中包含每隔一行的数据。我想得到每个非空行的内容。鉴于文件的全文,我首先尝试使用myText.split("\n\n")
。令我惊讶的是,它不起作用。我在Windows上工作。
答案 0 :(得分:5)
Windows使用 CRLF 作为行分隔符。你正在分裂 LF 。那不行。
安全的方法是使用:
System.getProperty("line.separator");
在您的操作系统上获取适当的分隔符。
String newLine = System.getProperty("line.separator");
myText.split("(?:" + newLine + ")+");
您可能正在阅读在其他操作系统上创建的文件。那么上面的方法就不行了。更好的方法是使用CR
和LF
的字符类,如@Marko的评论中所指定的那样:
myText.split("[\r\n]+");