我尝试将文件的内容写入字符串,因此我使用Scanner对象来读取内容。就像这样:
Scanner scanFile = new Scanner(sourceFile);
StringBuilder contents = new StringBuilder();
然后我使用函数.Next()来读取文件的内容,并使用contents.append(sourceFile);
但是我发现字符串contents
中没有'\ n'或空格。
我认为这是因为函数.Next()忽略空格和'\ n',这是正确的吗?如何在输入流中访问'\ n'?
答案 0 :(得分:1)
添加从文件中读取的行后,将新行字符添加到StringBuilder:
contents.append(scanFile.next() + "\n")
答案 1 :(得分:0)
Scanner.next()
从输入中读取字符串,直到它到达空格或换行符,如果您想逐行读取文件,则必须使用Sacnner.nextLine()
,请参阅Scanner Javadoc
例如,如果您的输入文件包含:
foo bar foo
bar baz
使用next()
方法可获得5 foo
,bar
,foo
,bar
,bar
使用nextLine()
方法可获得foo bar foo
,bar baz