Java: Fichier CSV Facile à Lire/Écrire

Je suis en train de travailler sur un programme qui nécessite un accès rapide à un CSV délimité par des virgules fichier de feuille de calcul.
Jusqu'à présent, j'ai été capable de lire facilement à l'aide d'un BufferedReader.
Cependant, maintenant, je veux être en mesure de modifier les données qu'il lit, puis l'exporter vers le format CSV.

La feuille de calcul contient des noms, des numéros de téléphone, adresses e-mail, etc. Et le programme des listes de chacun de données, et lorsque vous cliquez sur eux, il affiche une page avec des informations plus détaillées, également tiré à partir du fichier CSV. Sur cette page, vous pouvez modifier les données, et je veux être en mesure de cliquer sur un bouton "Enregistrer", puis exporter les données de retour à la ligne correspondante dans le fichier CSV--ou supprimer l'ancien, et ajouter de nouvelles.

Je ne suis pas très familier avec l'aide d'un BufferedWriter, ou quoi que ce soit, je devrait être en utilisant.

Ce que j'ai commencé à faire est de créer une classe personnalisée appelée FileIO. Il contient à la fois un BufferedReader et un BufferedWriter. Jusqu'à présent, il a une méthode qui retourne bufferedReader.readLine(), la lecture(). Maintenant, je veux une fonction appelée write(String ligne).

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);
    }
};

J'espère que quelqu'un a une idée de comment je peux faire cela?

  • Pas de réponse à votre question en soi: savez-vous SuperCSV, facile à utiliser et polyvalent CSV lecture-écriture de la bibliothèque de sérieux qui facilite l'interaction avec les fichiers csv.
InformationsquelleAutor Rich Young | 2013-01-09