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

时间:2017-12-16 10:28:20

标签: java file text filewriter printwriter

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

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

    }
}

1 个答案:

答案 0 :(得分:1)

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