我想使用java讀取PSV文件。我的PSV文件中的記錄有4列。我只想讀取並輸出第3列和第4列。做這個的最好方式是什麼。 以下是我有:從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();
基於@AljoshaBre建議蔭使用CSVReader,這樣做:
reader = new CSVReader(new FileReader(fileName),'|');
String [] nextLine;
while ((nextLine = reader.readNext()) != null)
{
System.out.println(nextLine[3] + nextLine[4]);
}
我得到所需的輸出,但隨後得到一個錯誤: 異常在線程「 (ReadLoadLine [3] + nextLine [4]);第20行是System.out.println(nextLine [3] + nextLine [4]);第20行是System.out.println(nextLine [3] + nextLine [
管道分離或週期分離? – Brendan
管道分離。 – Ram
如果你得到這個例外,這可能意味着你的令牌數組沒有你想象的那麼大。也許你沒有正確處理空白行(即0或1長度的令牌數組(取決於opencsv在這種情況下想要返回的數據)。 – Matt