不维护换行符的字符串在终端中正确显示



我想读取一个文本文件,改变一些文本然后输出到一个文本文件。我用记事本打开这个文件

新的Java -这已经在论坛上以不同的方式被重新整理和发布。他们似乎总是说你在字符串中缺少/n -我认为我在下面的代码中做到了这一点。

让我感到困惑的部分是,当我使用showfile方法时,它在我的终端中正确显示。

我认为这是我写文件的方式。我想继续使用我的方法而不是字符串变量

原文件包含文本

鲍勃

红色

我用它来读取文本文件并以字符串形式输入。

public void readFile(String fileName)
{
    fileText = "";
    try
    {
        Scanner file = new Scanner(new File(fileName));
        while (file.hasNextLine())
        {
            String line = file.nextLine();
            fileText += line +"n";
        }
        file.close();
    }
    catch (Exception e)
    {
         System.out.println(e);
   }

我使用一种方法将所有的"R"交换为"B"。

我使用showFile方法,它在我的终端上正确显示

显示正确

鲍勃

public String showFile()
{
    return fileText;
}

然后我尝试将字符串输出到文件使用。

try {
        File file = new File("test1.txt");
        FileWriter fileWriter = new FileWriter(file);
        fileWriter.write(startupModified.showFile());
        fileWriter.flush();
        fileWriter.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

它保留了我的空格,但是我失去了换行符

显示:

鲍勃床上门

这是startupModified

的构造函数类
 public StartUpFile(String fileName)
{
    readFile(fileName);
        }

功能正常

changed filettext += line +"n";

to filettext += line +"rn";

我假定它是写入器,因为它在终端中正确显示。

谢谢