2 回答

TA貢獻1859條經驗 獲得超6個贊
掃描儀僅將逗號作為分隔符。但是您希望它也接受行尾作為另一個分隔符。
我假設您像這樣實例化 Scanner,使用Scanner::useDelimiter
:
Scanner s = new Scanner( inputStream ).useDelimiter( "," );
如果我得到正確的模式定義,它應該是:
Scanner s = new Scanner( inputStream ).useDelimiter( ",|\\R" );
\R 代表
Linebreak matcher:任意Unicode換行序列,等同于\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]
java.util.regex.Pattern
有關詳細信息,請參閱文檔。

TA貢獻1836條經驗 獲得超5個贊
CSV 文件包含文本行,其中每行包含以逗號分隔的值。因此,我建議您逐行閱讀文件,然后用逗號分隔每一行。就像是...
java.io.FileReader fr = new java.io.FileReader("path to file");
java.io.BufferedReader br = new java.io.BufferedReader(fr);
String line = br.readLine();
while (line != null) {
String[] fields = line.split(",");
// Add code here to handle the "fields".
line = br.readLine();
}
請注意,上面的代碼不是一個完整的解決方案,而是一個起點。例如,我沒有關閉BufferedReader.
添加回答
舉報