Java 在解析文件中的文本时,是否没有新行的空间?

Java 在解析文件中的文本时,是否没有新行的空间?,java,file,parsing,Java,File,Parsing,我试图解析文本文件中的文本,然后将其拆分为单词。但是,当split接受这些单词时,它不会将新行识别为空格? 有时它会识别下一行的空格,但如果在单词继续之前有两行新的空格,它就不会识别 我在每一行上加了一个空格来避免它 这是正常行为吗?如何避免 例如,使用文本文件:这是一个测试“回车”,用于检查文本中的“回车”内容“回车”(以书面形式键入回车) 根据您的策略,其中一种方法是在字符串(读取行)之间添加额外的“空格”,以便以后可以识别它们: private void loadFile(File fil

我试图解析文本文件中的文本,然后将其拆分为单词。但是,当split接受这些单词时,它不会将新行识别为空格? 有时它会识别下一行的空格,但如果在单词继续之前有两行新的空格,它就不会识别

我在每一行上加了一个空格来避免它

这是正常行为吗?如何避免

例如,使用文本文件:这是一个测试“回车”,用于检查文本中的“回车”内容“回车”(以书面形式键入回车)


根据您的策略,其中一种方法是在字符串(读取行)之间添加额外的“空格”,以便以后可以识别它们:

private void loadFile(File fileC) throws IOException {
    try (BufferedReader reader = new BufferedReader(new FileReader(f))) {
        while (true) {
            String s = reader.readLine();
            if (s == null) {
                break;
            }
            so += " "+s;  // here
        }
    }
    parseMethod();
}
如果在这种情况下,字符串有额外的“空格”,则可以在更正此方法时对其进行解析:

private void parseMethod() {
    String[] sa1 = so.split("\\s+"); // to recognize some spaces
    for (String soo : sa1) {
        System.out.println(soo);
    }
}

其他方法不需要更改

readLine()的结果中不包括换行符。将so+=s更新为so+=''+s。您正在不分隔地追加行。空格字符和行终止符是不同的。在Windows中,行由字符返回+换行符(\r+\n)终止,而在大多数其他系统中,行由我的简单换行符终止。是的,将空格添加到初始字符串即可。so+=''+s;谢谢,这很好,很有效。不过,我认为最好包含“\\s+”。谢谢
private void parseMethod() {
    String[] sa1 = so.split("\\s+"); // to recognize some spaces
    for (String soo : sa1) {
        System.out.println(soo);
    }
}