从文本文件java中存储1d数组

时间:2015-10-18 07:31:50

标签: java arrays text-files

我是否正确阅读了以下输入?

到目前为止,这是我的代码:

    while ((line = br.readLine()) != null) {
        line = line.substring(line.indexOf('[')+1, line.indexOf(']'));
        String[] parts = line.split(",");

        for (int i = 0; i< parts.length; i++) {                               
            rangeNo[i]= Integer.parseInt(parts[i]);

            System.out.println("{" + rangeNo[i] + "}"); 
    }
  }

这是我的输入

 [2,9], [3,11]

另外,当我尝试打印rangeNo [3]的值时,它返回0而不是3

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您希望[2,9], [3,11]位于one行或two分开的行吗?

如果它应该是one line,那么你可能想尝试这样的事情

    Integer rangeNo[] = new Integer[10];
    String line = "[2,9], [3,11]";
    line = line.replace('[', ' ');
    line = line.replace(']', ' ');
    String[] parts = line.split(",");

    for (int i = 0; i < parts.length; i++) {
        rangeNo[i] = Integer.parseInt(parts[i].trim());
        System.out.println("{" + rangeNo[i] + "}");
    }

答案 1 :(得分:0)

当你在这里查看

line = line.substring(line.indexOf('[')+1, line.indexOf(']'));

匹配第一个条件。即在[2,9]之后不适用,因此只有29存储在此处。

String[] parts = line.split(",");

所以

parts[0]=2
parts[1]=9
parts[2]=0