繁体   English   中英

字符串到文件不维护换行符显示在终端正确性 java

[英]String to file not maintaing line breaks displays in terminal correclty java

我想读取一个文本文件,更改一些文本然后输出到一个文本文件。 我会在记事本中打开这个文件

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

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

我假设它是我编写文件的方式。 我想继续使用我的方法而不是 String 变量

原始文件包含文本

鲍勃

红色的

我用它来读取文本文件并将其输入到一个字符串中。

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);
        }

现在功能正常

更改了文件文本 += 行 +"\\n";

to fileText += line +"\\r\\n";

我认为它是作者,因为它在终端中正确显示。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM