2013-11-18 3 views
1

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

import javax.swing.*; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.io.PrintWriter; 




    public class AddStudent 
    { 
    public static void main(String[] args) throws IOException 
    { 

    Student s1 = new Student(); 
    String id = JOptionPane.showInputDialog(null, "Enter Students ID "); 

    s1.setStudentName(JOptionPane.showInputDialog(null, "Enter Students name ")); 
    s1.setStudentNumber(id); 
    s1.setStudentEmail(JOptionPane.showInputDialog(null, "Enter Students Email Address"));   
    s1.setStudentAdd(JOptionPane.showInputDialog(null, "Enter Students Home Address ")); 
    String ProgID = JOptionPane.showInputDialog(null, "Enter the Programme code the student is taking") ; 

    FileWriter fw = new FileWriter("C:\\Users\\Packard Bell\\Desktop\\ProgrammeList.csv",true); 
    PrintWriter pw = new PrintWriter(fw); 


     pw.print(id); 
     pw.print(","); 
     pw.print(ProgID); 
     pw.flush(); 
     pw.close(); 
     fw.close();   
    } 

    } 
+0

возможно дубликат [Как добавить текст в существующий файл в Java] (http://stackoverflow.com/questions/1625234/how- to-append-text-to-an-existing-file-in-java) – nhgrif

ответ

1

На самом деле решение, которое вы отправили, должно уже работать. Поскольку вы правильно открываете файл с флагом append, установленным в true, это должно быть добавлено.

Edit: Так, чтобы исправить вашу проблему, используйте:

pw.println(id + "," + ProgId); 
+0

Да, но я хочу, чтобы он добавлял его в новую строку CSV каждый раз при запуске. Он просто добавляет его в ту же строку. – user2205055

+0

Используйте write ("\ n"), чтобы добавить символ новой строки. Или println() вместо print(). – jmiserez

+0

Нет уверенности, просто добавляет его в ту же строку – user2205055

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