写入.txt而不删除前一个

时间:2015-05-29 04:17:20

标签: java file file-io

我在我的代码中注意到,每当我输入一个新输入时,我输入的前一个文本就消失了,完全被新的替换。 如何在不删除以前文本的情况下创建新文件?

这是我的代码:

String pangalan = nameField.getText().trim();
String edad = age.getText().trim();
if(pangalan.length()!=0&&edad.length()!=0){ 
    JLabel l1 = new JLabel("Submit Success!");
    mainPanel.add(l1);
    l1.setBounds(70,115,100,100);   
    try{
        input = new Formatter(new File("jj.txt"));              
    }//try
    catch(Exception i){
        System.out.println("File not found!");
    }//catch
    input.format("%s %s",pangalan,edad);
    input.close();
}

3 个答案:

答案 0 :(得分:1)

我使用了MadProgrammer所说的FileWriter(File,boolean) :)它完美无缺:)

答案 1 :(得分:1)

这些是java FileWriter 1.7上的构造函数 构造函数和描述

FileWriter(File file) // Constructs a FileWriter object given a File object.
FileWriter(File file, boolean append) // Constructs a FileWriter object given a File object.
FileWriter(FileDescriptor fd) //Constructs a FileWriter object associated with a file descriptor.
FileWriter(String fileName) // Constructs a FileWriter object given a file name.
FileWriter(String fileName, boolean append) // Constructs a FileWriter object given a file name with a boolean indicating whether or not to append the data written.

有关详细信息,请参阅API。

答案 2 :(得分:0)

你必须以附加模式打开文件,这可以通过使用FileWriter(String fileName,boolean append)构造函数来实现。

output = new BufferedWriter(new FileWriter(my_file_name, true));

示例:

public static void main(String[] args) {
        Writer output;
        try {

            output = new BufferedWriter(new FileWriter(("E:\\test.txt"), true));
            output.write("current line");
            output.close();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

输出将:: enter image description here

希望它可以帮到你。