Java: Arquivo CSV Easy Read / Write

Estou trabalhando em um programa que requer acesso rápido a um arquivo de planilha delimitado por vírgula CSV. Até agora eu consegui ler facilmente usando um BufferedReader. No entanto, agora quero poder editar os dados que lê e, em seguida, exportá-los para o CSV.

A planilha contém nomes, números de telefone, endereços de e-mail, etc. E o programa lista os dados de todos e, quando você clica neles, abre uma página com informações mais detalhadas, também extraídas do CSV. Nessa página, você pode editar os dados e eu quero ser capaz de clicar em um botão "Salvar alterações" e exportar os dados de volta para a linha apropriada no CSV - ou excluir o antigo e anexar o novo.

Eu não estou muito familiarizado com o uso de um BufferedWriter, ou seja o que for que eu deveria estar usando.

O que eu comecei a fazer é criar uma classe personalizada chamada FileIO. Ele contém um BufferedReader e um BufferedWriter. Até agora tem um método que retorna bufferedReader.readLine (), chamado read (). Agora eu quero uma função chamada 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);
    }
};

Espero que alguém tenha uma ideia de como posso fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion