Java: CSV-Datei Easy Read / Write

Ich arbeite an einem Programm, das schnellen Zugriff auf eine CSV-Datei mit durch Kommas getrennten Arbeitsblättern erfordert. Bisher konnte ich mit einem BufferedReader problemlos davon lesen. Jetzt möchte ich jedoch in der Lage sein, die gelesenen Daten zu bearbeiten und sie dann zurück in die CSV-Datei zu exportieren.

Die Tabelle enthält Namen, Telefonnummern, E-Mail-Adressen usw. Das Programm listet alle Daten auf. Wenn Sie darauf klicken, wird eine Seite mit detaillierteren Informationen angezeigt, die ebenfalls aus der CSV-Datei abgerufen werden. Auf dieser Seite können Sie die Daten bearbeiten, und ich möchte in der Lage sein, auf die Schaltfläche "Änderungen speichern" zu klicken, die Daten dann wieder in die entsprechende Zeile in der CSV zu exportieren - oder die alte zu löschen und die neue anzufügen.

Ich bin nicht sehr vertraut mit der Verwendung eines BufferedWriter oder was auch immer ich verwenden sollte.

Ich habe damit begonnen, eine benutzerdefinierte Klasse mit dem Namen FileIO zu erstellen. Es enthält sowohl einen BufferedReader als auch einen BufferedWriter. Bisher gibt es eine Methode namens read () zurück, die bufferedReader.readLine () zurückgibt. Jetzt möchte ich eine Funktion namens write (String line).

public static class FileIO {
    BufferedReader read;
    BufferedWriter write;

    public FileIO (String file) throws MalformedURLException, IOException {
        read = new BufferedReader(new InputStreamReader (getUrl(file).openStream()));
        write = new BufferedWriter (new FileWriter (file));
    }

    public static URL getUrl (String file) throws IOException {
        return //new URL (fileServer + file).openStream()));
                FileIO.class.getResource(file);
    }

    public String read () throws IOException {
        return read.readLine();
    }

    public void write (String line) {
        String [] data = line.split("\\|");
        String firstName = data[0];

        // int lineNum = findLineThatStartsWith(firstName);
        // write.writeLine(lineNum, line);
    }
};

Ich hoffe, jemand hat eine Idee, wie ich das machen kann?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage