簡體   English   中英

Java索引超出范圍錯誤-缺少條目

[英]Java index out of bounds error - missing entries

我正在嘗試解析一個csv文件。 典型的行如下所示:

7,118.2722833,98.61084463,94.36895546,,

我遇到的問題是,當我分割線時,我只會得到4的數組長度。我想讓數組的第五和第六個元素返回null,但是我從中得到索引邊界錯誤。

這是該代碼的簡化版本:

BufferedReader br = new BufferedReader(new FileReader("FileName"));
String line = "";
String[] datum = new String[6];

while ((line = br.readLine()) != null) {
    datum = line.split(",");

    if (datum[5] != "") {
        //some statements
    }
}

知道為什么它忽略了最后兩個逗號嗎?

沒有任何參數的split方法將丟棄任何尾隨的null元素。 傳遞負數limitsplit ,它將返回一個數組,該數組保留尾隨null元素。

datum = line.split(",", -1);

另外,不要使用!=來查看它是否為空字符串。 采用

if (!("".equals(datum[5]))) {

數組索引從0開始,如果要第5個元素,則需要執行datum[4]而不是datum[5]

7 --------------0
118.2722833-----1
98.61084463-----2
94.36895546-----3,
 ----------------4

我建議閱讀有關方法java.lang.String.split(String regex, int limit)limit參數的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM