我可以使用Java中的Scanner对象访问'\ n'吗?

时间:2015-11-14 09:10:18

标签: java

我尝试将文件的内容写入字符串,因此我使用Scanner对象来读取内容。就像这样:

Scanner scanFile = new Scanner(sourceFile);
StringBuilder contents = new StringBuilder();

然后我使用函数.Next()来读取文件的内容,并使用contents.append(sourceFile);

将其添加到内容中

但是我发现字符串contents中没有'\ n'或空格。 我认为这是因为函数.Next()忽略空格和'\ n',这是正确的吗?如何在输入流中访问'\ n'?

2 个答案:

答案 0 :(得分:1)

添加从文件中读取的行后,将新行字符添加到StringBuilder:

contents.append(scanFile.next() + "\n")

答案 1 :(得分:0)

Scanner.next()从输入中读取字符串,直到它到达空格或换行符,如果您想逐行读取文件,则必须使用Sacnner.nextLine(),请参阅Scanner Javadoc
例如,如果您的输入文件包含:

foo bar foo
bar baz

使用next()方法可获得5 foobarfoobarbar 使用nextLine()方法可获得foo bar foobar baz