2013-10-16 81 views
0

我編寫此代碼以獲取信息。從csv文件和這個文件包含超過 8000行,但是當我運行該程序時,它只返回575行。任何人都可以幫助我,並且還需要知道如何比較連續行的時間字段,我需要比較這些值並根據最小值重新排列數據,然後根據特定條件添加具有特定值的新行。opencsv不會返回原始csv文件中的完整值

/* this is the code */ 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 

import au.com.bytecode.opencsv.CSVReader; 


public class CSVdata { 

/** 
    * @param args 
    */ 
    public static void main(String[] args) { 




     try{ 
      FileReader klausuar = new FileReader(
"klausurphase_propa_anonym.csv"); 
      CSVReader reader = new CSVReader(klausuar); 
      String [] nextLine; 
      reader.readNext(); 
      while ((nextLine = reader.readNext()) != null) { 
       // nextLine[] is an array of values from the line 


       System.out.println(nextLine[2] + " ** " + nextLine[3] + " ** " + 
nextLine[4] + " ** ") ; 
      } 
     klausuar.close(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

} 
} 
+0

請在您的csv文件中顯示570-580行,並在代碼中catch catch ArrayIndexOutOfBoundsException – user1516873

回答

0

我在這裏看到2個可能的答案:

  1. 您的CSV格式錯誤(嘗試在Excel中打開它,看看實際的大小)
  2. 因爲你的程序只打印屏幕上的線,也許你的控制檯(無論是Eclipse還是系統)都有一個有限的緩衝區,不能顯示更多的內容。
0

感謝您的問題是控制檯的問題是有限的緩衝區,我試圖打印較少 列,它顯示更多的行。關於其他問題沒有答案。