Robię książkę adresową, a mój program ma zapisywać każdy element na liście do pliku CSV. "Dostałem wszystko, by pracować z powodu faktu, że zapisze on tylko 1 wiersz do pliku.
public static void save(){
PrintWriter writer = null;
try {
writer = new PrintWriter("C:\Users\Remixt\workspace\2\AddressBook.csv", "utf-8");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(0);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(0);
}
{
writer.println(AddressBook.get(getListSize()-1)+"n");
writer.close();//saves file
}
Edytuj: Zapisuje tylko ostatni element w pliku. Pokazuje tylko 1 rzecz w pliku, niezależnie od tego, ile razy dodaję coś innego do listy.
Odpowiedzi:
0 dla odpowiedzi № 1problem jest tutaj
writer.println(AddressBook.get(getListSize()-1)+"n");
po prostu napisz ostatni element AddressBook
do csv
plik, użyj for loop
poniżej jest próbka
for (int i = 0; i < AddressBook.size(); i++) {
writer.println(AddressBook.get(i)+"n");
}
na koniec powinieneś napisać plik wg append mode
filename=new FileWriter("printWriter.txt",true);
writer=new java.io.PrintWriter(filename);