2016-04-18 37 views
0

Ich stehe kleines Problem bei der Verwendung von OPENCSV und versuchen, bestimmte Spalte aus einer Zeile zu lesen. Ich habe eine CSV-Datei, die wie folgt iOpenCSV lesen spezifische Spalte

"ID","Name","Name2","Date","Author" 
"1","Alex","Example","18.3.2016","Alex" 

Jetzt ist nur die Spalte 2 und 3 (Name und Name2) sieht lesen wollen.

Mein Code sieht wie folgt aus

try { 
      CSVReader reader = new CSVReader(new FileReader(filelocation)); 

      String [] nextLine; 
      int rowNumber = 0; 

      while ((nextLine = reader.readNext()) != null) { 
       rowNumber++; 
       for(int i = 0; i< nextLine.length ; i++){ 
        System.out.println("Cell index: " + i); 
        System.out.println("Cell Value: " + nextLine[i]); 
        System.out.println("---"); 
       } 
      } 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

ich schon versucht, die Einstellung der "i" Variable manuell zu 1 und 2. Aber dann 4 ich bin immer gleichen Ergebnisse in log gezeigt. Was fehlt? Vielen Dank!

Antwort

1

Macht nichts, ich fand den Trick.

So sollte es aussehen.

try { 

      CSVReader reader = new CSVReader(new FileReader(filelocation)); 

      String [] nextLine; 
      int rowNumber = 0; 
      while ((nextLine = reader.readNext()) != null) { 
       rowNumber++; 
       String name = nextLine[1]; 
       String name2 = nextLine[2]; 
      } 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

Danach könnte ich den String-Wert bekommen und damit arbeiten.