2015-10-11 3 views
1

Я делаю адресную книгу, и моя программа должна сохранять каждый элемент в списке в файл CSV. Я получил все, чтобы работать, учитывая тот факт, что он сохранит только 1 строку в файле.Как распечатать следующий элемент в связанном списке в файл CSV?

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 
} 

Редактировать: он сохранит только последний элемент в файле. Он показывает только 1 вещь в файле независимо от того, сколько раз я добавляю что-то еще в список.

ответ

0

проблема здесь

writer.println(AddressBook.get(getListSize()-1)+"\n"); 

вы просто написать последний элемент AddressBook в файл csv используйте for loop

следующее образец

for (int i = 0; i < AddressBook.size(); i++) { 
    writer.println(AddressBook.get(i)+"\n"); 

} 

наконец, вы следует написать файл на append mode

filename=new FileWriter("printWriter.txt",true); 
writer=new java.io.PrintWriter(filename); 
+0

Это сработало очень хорошо, спасибо! – Remixt

Смежные вопросы