3 回答

TA貢獻1851條經驗 獲得超4個贊
讓我們給出一個非答案:當你重新發明輪子時,這樣的事情是可以預料到的。
含義:CSV解析比您想象的要難。通常,您自己的手寫解析器適用于您可以想到的輸入數據。第二次你從不同的來源向它拋出有效的CSV數據,稍微復雜一些,你的解析器就會崩潰。
所以:這個異常告訴你這個字符串不能被解析為數字,正如其他答案所解釋的那樣,這是由于其他元素的錯誤“解析”。" 1"
因此,我的建議是:如果你想有一個真正的CSV解析器,請使用現有的庫,如openCSV或apache共享資源CSV。

TA貢獻1831條經驗 獲得超9個贊
看來你的是不正確的??罩岛烷L度的參數和條件不正確。我想將該方法更改為:convertCSVtoArrayListsplit
public static ArrayList<String> convertCSVtoArrayList(String pathCSV) {
ArrayList<String> result = new ArrayList<>();
if (pathCSV != null) {
String[] splitData = pathCSV.split("\\s+");
for (int i = 0; i < splitData.length; i++) {
if (splitData[i].length() != 0) {
result.add(splitData[i].trim());
}
}
}
return result;
}

TA貢獻1872條經驗 獲得超4個贊
它似乎試圖將“不減少”行轉換為整數,但失敗了。代碼是否進入您的 if(行.包含(“簡化”))塊?
也許添加這個只是作為測試
if(line.contains("Reduction") || line.trim().isEmpty())
也許您的輸入文件末尾有換行符?
添加回答
舉報