Je souhaite lire un fichier PSV en utilisant java. Les enregistrements dans mon fichier PSV ont 4 colonnes. Je veux lire et sortir seulement les 3 et 4ème colonnes. Quelle est la meilleure façon de procéder. Voici ce que j'ai:Lecture d'un fichier PSV Java
BufferedReader PSVFile = new BufferedReader(new FileReader(fileName));
String dataRow = PSVFile.readLine();
while (dataRow != null)
{
String[] dataArray = dataRow.split("\n");
for (String item:dataArray)
{
String[] elements = item.split("|");
System.out.println(item);
}
System.out.println();
dataRow = PSVFile.readLine();
}
PSVFile.close();
System.out.println();
Basé sur la suggestion @AljoshaBre Iam utilisant CSVReader, en faisant ceci:
reader = new CSVReader(new FileReader(fileName),'|');
String [] nextLine;
while ((nextLine = reader.readNext()) != null)
{
System.out.println(nextLine[3] + nextLine[4]);
}
Je reçois la sortie désirée mais obtiens une erreur: Exception dans le thread " main "java.lang.ArrayIndexOutOfBoundsException: 2 à Read_PSV.main (Read_PSV.java:20) La ligne 20 est System.out.println (nextLine [3] + nextLine [4]);
Tuyau séparé ou séparé en période? – Brendan
Tuyau séparé. – Ram
Si vous obtenez cette exception, cela signifie probablement que votre tableau de jetons n'est pas aussi gros que vous le pensez. Peut-être que vous ne traitez pas correctement les lignes vierges (c'est-à-dire 0 ou 1 tableaux de jetons de longueur (en fonction de ce que l'opencsv veut vous redonner dans ce cas) – Matt