Comment lire un fichier. csv dans une liste de tableaux en java?


J'ai une mission pour le collège qui nécessite que je prenne des données d'un .fichier csv et lisez-le, traitez-le et imprimez-le dans trois méthodes distinctes. Les instructions exigent que je lise les données dans une liste de tableaux, j'ai écrit du code pour le faire, mais je ne sais tout simplement pas si je l'ai fait correctement. Quelqu'un pourrait-il m'aider à comprendre exactement comment je suis censé lire le fichier dans une liste de tableaux?

Mon code:

public void readData() throws IOException { 
    int count = 0;
    String file = "bank-Detail.txt";
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line = "";
        while ((line = br.readLine()) != null) {

            bank.add(line.split(","));

            String[][] v = (String[][]) bank.toArray(new String[bank.size()][12]);

        }
    } catch (FileNotFoundException e) {

    }
}
Author: abl, 2017-02-11

1 answers

Vous n'avez pas besoin de 2D array pour stocker le contenu du fichier, une liste de tableaux String [] ferait l'affaire, par exemple:

public List<String[]> readData() throws IOException { 
    int count = 0;
    String file = "bank-Detail.txt";
    List<String[]> content = new ArrayList<>();
    try(BufferedReader br = new BufferedReader(new FileReader(file))) {
        String line = "";
        while ((line = br.readLine()) != null) {
            content.add(line.split(","));
        }
    } catch (FileNotFoundException e) {
      //Some error logging
    }
    return content;
}

De plus, il est bon de déclarer le list localement et de le renvoyer depuis le method plutôt que d'ajouter des éléments dans un list partagé ('bank') dans votre cas.

 1
Author: Darshan Mehta, 2017-02-11 01:06:57