在现有的文本文件中添加一行,但增加一个额外的空行。

问题描述 投票:0回答:1

我试图在一个现有的文本文件中添加一行新的内容,它可以工作,但有时会在旧的数据和新的数据之间添加一行空行

所以我有一个文件,里面有数据。

mouse
keyboard

当添加时,它是这样添加的:

mouse
keyboard

printer

但我不希望在新旧文本之间有空行。 这是我使用的代码。

String filename= "Stock.txt"
FileWriter fw = new FileWriter(filename,true);
fw.write(System.lineSeparator() + data);
fw.close();
java append text-files bufferedreader bufferedwriter
1个回答
-1
投票

Buffer reader和Buffer writer是在对文件进行读写时的首选类。

你可以用几种方法来实现。

例1 - 使用File, FileWriter和BufferWriter类手动关闭。

    File file = new File("Stock.txt");
    FileWriter fr = new FileWriter(file, true);
    BufferedWriter br = new BufferedWriter(fr);
    br.write(data + "\n");

    br.close();
    fr.close();

例2 - 使用File, FileWriter和BufferWriter类与try-with-resource一起使用,当处理停止后,资源将自动关闭。

    File file = new File("Stock.txt");

    try (FileWriter fileWriter = new FileWriter(file, true);
         BufferedWriter bufferedWriter = new BufferedWriter(fileWriter)) {

        bufferedWriter.write(data + "\n");

    } catch (FileNotFoundException e) {
        System.out.println("Unable to open file, file not found.");
    } catch (IOException e) {
        System.out.println("Unable to write to file." + file.getName());

    }

参见。https:/stackabuse.comreading-and-writing-files-in-java。 关于读写文件的一些非常有用的信息!

请看。https:/docs.oracle.comjavasetutorialessentialexceptionstryResourceClose.html。 以获取关于 try-with-resource 的信息。

© www.soinside.com 2019 - 2024. All rights reserved.