从用户输入读取文件的新行

时间:2016-06-10 18:47:14

标签: java file user-interface io

我要做的是在我的文本文件中将记录写入新行。每当有人点击我的程序注册时,我想调用一个打开文件并添加记录的方法。这就是我现在所拥有的:

要打开文件:

try {
    l = new Formatter("chineses.txt");
    System.out.println("Did create");
} catch (Exception e){
    System.out.println("Did not create");
}

添加记录:

public void addRecord(){
    l.format("%s", nameField.getText());
}

每当我在名称字段中输入名称并单击我的GUI中的注册时,它总是替换文本文件中第一行上的任何内容。         如何在保留第一行的内容的同时写入第二行?

2 个答案:

答案 0 :(得分:0)

您是否考虑过使用RandomAccessFile?你可以寻找到最后,然后写。

答案 1 :(得分:0)

根据javadoc,使用单个String参数创建的格式化程序将首先清空文件(截断为零长度),然后再写入该文件。这就是您的文件未附加到的原因。程序首先删除文件中的任何内容,然后在调用l.format()时将新内容写入其中。

您可能想要做的是使用Formatter()将数据格式化为字符串。打开您的记录文件以进行追加,然后将该字符串写入该文件。 This link应该有很多有关如何执行此操作的详细信息。 (我用google搜索" java打开并写一个文件"找到该资源)