String blocks[][] = null;
int linecount = 0;
String oneL;
File lvl = new File("res/1.mpl");
try {
BufferedReader rdr = new BufferedReader(new InputStreamReader(new FileInputStream(lvl)));
while((oneL = rdr.readLine()) != null){
String[] line =oneL.split(".");
for(int i = 0; i < line.length;i++){
blocks[i][linecount] = line[i];
System.out.println(line[i]);
}
++linecount;
}
rdr.close();
} catch (IOException e) {
e.printStackTrace();
}
我正在尝试从自定义文件中读取内容,然后将其传递给多维数组。这部分代码不会被激活。有什么帮助吗?
这部分导致一切都无声地失败:
blocks[i][linecount] = line[i];
答案 0 :(得分:1)
你从未初始化blocks
;当你到达那一行时,它仍然是null
。
答案 1 :(得分:1)
当你打印line.length时它将为零。首先你应该使用split(“\。”),然后用适当的大小初始化块。我刚刚用line.length初始化。你可以修改
while((oneL = rdr.readLine()) != null){
String[] line =oneL.split("\\.");
blocks=new String[line.length][line.length];
for(int i = 0; i < line.length;i++){
blocks[i][linecount] = line[i];
System.out.println(line[i]);
}
++linecount;
}