如何在java中的文本文件中写入而不删除之前的文件内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在java中的文本文件中写入而不删除之前的文件内容相关的知识,希望对你有一定的参考价值。

这是删除文件内容然后在其上写入的代码我想在文件中写入而不删除内容并在最后一行写入

import java.io.*;
import java.util.Scanner;

public class SetValues {

    public void setNumberPhone(String numberPhone) throws UnsupportedEncodingException {
        Scanner input = new Scanner(System.in);
        PrintWriter pr = null;

        try {
            input = new Scanner("C:/Users/Abdalrahman/Desktop/PhoneNumber.txt");
            pr = new PrintWriter("C:/Users/Abdalrahman/Desktop/PhoneNumber.txt", "UTF-8");

        } catch (FileNotFoundException e) {
            System.out.println("Not Open" + e.getMessage());
            System.exit(0);
        }

        if (input.hasNext()) {
            pr.println(numberPhone);
        }
        pr.close();

    }
}
答案
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.*;

OutputStream os = Files.newOutputStream(Paths.get("C:/Users/Abdalrahman/Desktop/PhoneNumber.txt"), APPEND);
PrintWriter pr = new PrintWriter(os);

pr.println("TEXT");

这将创建一个输出流,其中任何输出文本将附加到文件的当前内容。您可以使用OutputStream来创建PrintWriter。更多信息可以在at the Java documentation找到

以上是关于如何在java中的文本文件中写入而不删除之前的文件内容的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中写入文本文件而不覆盖文本?

java 删除文件中的数据

Java 如何使用输入流和输出流 将txt文件中的某一行数据删除?

PHP 中如何在同一个文件中写入而不覆盖以前写的内容

java如何读取压缩包中的文本文件

使用scanner类更改文本文件中的特定文本(java)