我有一个放在多维数组中的文件。我必须将[0]设为日期(长),其中一个维度必须根据第二个令牌的值递增。
以下是代码:
BufferedReader bufStatsFile = new BufferedReader(new FileReader(statsFile));
String line = null;
List<Long[]> stats = new ArrayList<Long[]>();
stats.add(new Long[11]);
int i = 0; // will be in a loop later
while((line = bufStatsFile.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line,";");
while(st.hasMoreTokens()) {
stats.get(i)[0] = Long.parseLong(st.nextToken());
stats.get(i)[Integer.parseInt(st.nextToken())]++; // Here is the problematic line.
}
}
bufStatsFile.close();
但增量不起作用。也许是因为我的阵列可能不正确,但我没有找到另一种正确的方法来做到这一点。
答案 0 :(得分:1)
确定。我发现它当然是愚蠢的。
问题出在我的数组声明中。我这样做了:
List<Long[]> stats = new ArrayList<Long[]>();
stats.add(new Long[11]);
然后,我尝试增加一个Object而不是一个长数字。
所以现在,我就是这样做的:
List<long[]> stats = new ArrayList<>();
stats.add(new long[11]);
它完美无缺。
答案 1 :(得分:0)
检查文件中的元素是否为0到10之间的数字。如果只是操作0行,为什么还要有List?
您的代码丢失了哪个例外?