我因爲會閱讀下列文件:如何CSV解析可以利用 - JAVA
"String",int,int
"String",int,int
"String",int,int
...
由於未知數量的變量,一個而(scanner.hasNextLine())可以解決到條目的數量。我的目標是獲取這三部分數據並將它們存儲到一個節點中。我正在使用方法BinaryTree.addNode(String,int,int)爲此。我正在嘗試讀取數據時遇到問題。我想在文檔中刪除逗號,然後嘗試使用重新讀取數據如下:
Scanner firstpass = new Scanner(file);
String input = firstpass.nextLine().replaceAll(",", "");
Scanner secondpass = new Scanner(input);
String variable1 = secondpass.next();
int variable2 = secondpass.nextInt();
int variable3 = secondpass.nextInt();
然而,這是要對這個非常innefective方式。
修訂 的編譯錯誤可以固定如下:
try {
Scanner scanner1 = new Scanner(file);
while (scanner1.hasNextLine()) {
String inventory = scanner1.nextLine().replaceAll(",", " ");
Scanner scanner2 = new Scanner(inventory);
while (scanner2.hasNext()){
String i = scanner2.next();
System.out.print(i);
}
scanner2.close();
}
scanner1.close();
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
這使我的輸出: 「字符串」 intint 「字符串」 intint 「字符串」 intint ... 所以我知道我在正確的軌道上。然而,「String」變量中的任何(空格)都被刪除。所以他們會輸出「SomeString」而不是「Some String」。另外我還不知道如何從字符串中刪除「」。
使用合適的csv庫 –