如何使用Java ReadFile读取读取换行符

时间:2018-05-05 18:51:34

标签: java io filereader

我有一个关于Java类Reader read()方法的简单问题。

文档says

  

读取单个字符。此方法将阻塞,直到字符可用,发生I / O错误或到达流的末尾。

所以我正在尝试将文件message.txt转换为字符串,并认为read可以很好地工作,因为它忠实地获取每个字符。我的txt文件有换行符后跟一条消息。

message

我设置此代码来读取包括初始新行在内的每个字符。

private static String readFile(String file) throws FileNotFoundException,IOException{
    FileReader r = new FileReader(file);
    String str="";
    int ch;
    while ((ch=r.read())!=-1)
    {
        System.out.println((char)ch);
        str+=(char)ch;
    }
    return str;
}

但是,我在输出中得到一个额外的字符(可能来自换行符),如下所示。如果有人能够让我了解Reader的这种行为以及我应该做些什么来使它添加一个特殊字符,那真的会有所帮助。

print char

print char

print char m

print char e

print char s

print char s

print char a

print char g

print char e

1 个答案:

答案 0 :(得分:0)

这个额外的空间是因为你正在使用“println”。因此,每当它在文件中读取换行符时,它就会打印一个新行,“println”会向它添加一行。 而不是“println”,尝试“打印”。