2016-04-18 2 views
0

У меня возникла небольшая проблема при использовании OPENCSV и попытка прочитать конкретный столбец из строки. У меня есть CSV-файл, который выглядит следующимOpenCSV прочитайте конкретный столбец

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

Теперь я хочу прочитать только столбец 2 и 3 (Имя и Имя2).

Мой код выглядит следующим образом

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

Я уже попытался установить «я» переменную вручную 1 и 2. Но тогда я получаю 4 те же результаты, показанные в журнале. Чего не хватает? Благодаря!

ответ

1

Ничего, я нашел трюк.

Вот как это должно выглядеть.

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

После этого я могу получить строковое значение и работать с ним.

Смежные вопросы