我有一个程序可以将人员添加到数组列表中。我想做的是将这些人也添加到文本文件中,但程序会覆盖第一行,因此这些人会被删除。
如何告诉编译器在下一个空闲行写入?
import java.io.*;
import java.util.*;
import javax.swing.JTextArea;
public class Logic {
File file;
FileWriter fw;
FileReader fr;
BufferedWriter bw;
ArrayList<Person> person;
public Logic() {
try {
file = new File("register.txt");
if (!file.exists()) {
file.createNewFile();
}
} catch (IOException e) {
}
person = new ArrayList<Person>();
}
// Add person
public void addPerson(String name, int tele) {
person.add(new Person(name, tele));
savePerson(name, tele);
}
// Save person to external file
public void savePerson(String name, int tele) {
try {
fw = new FileWriter(file.getName());
bw = new BufferedWriter(fw);
String tel = Integer.toString(tele);
bw.write(name + "\t" + tel);
bw.newLine();
bw.close();
} catch (Exception e) {
System.out.println("skrev inte ut med buffered");
}
}
// Går in i alla objekt av klassen Person och skriver ut toString i
// textArean
public void visaAlla(JTextArea textRuta) {
textRuta.setText("");
// for(Person p:person)
// {
// textRuta.append(p.toString());
// }
try {
fr = new FileReader(file.getName());
BufferedReader in = new BufferedReader(fr);
String str;
while ((str = in.readLine()) != null) {
textRuta.append(str);
}
} catch (Exception e) {
System.out.println("gickcinte ");
}
}
}
FileWriter
需要一个可选布尔参数 http://docs.oracle.com/javase/6/docs/api/java/io/FileWriter.html#FileWriter%28java.io.File,%20boolean%29它指定是否应附加或覆盖现有内容。传入true
如果您想以附加模式打开文件进行写入。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)