[英]How can I add this text file to a 2d char array
我正在尝试添加一个如下所示的文本文件:
X X X X X X X X X X
X S C C C C C C C X
X C C C X C X X C E
X C X X X C X X C X
X C C C C X X X C X
X X X X C X X X C X
X X X X C X C C C X
X X C X C X X C C X
X X C C C C C C C X
X X X X X X C X X X
到目前为止,我有这个:
private char[][] maze = new char [100][100];
public void importMaze(String file){
BufferedReader br;
try {
br = new BufferedReader(new FileReader(file));
String line = br.readLine();
while (line != null){
int i = 0;
for(int x = 0; x < line.length(); x++){
maze[x][i] = line.charAt(x);
}
i++;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但这是行不通的。 有没有人可以帮助我存储这个?
几件事。
我建议从使用line.charAt(x)
更改为使用splits函数。
String[] split = line.split(" ");
for (int x = 0; x < split.length; x++){
maze[i][x] = split[x];
}
另外,在增加i之后,不要忘记添加
line = br.readLine();
您从未在while循环中更新行...错误在这里
String line = br.readLine(); // <-- This reads one line
while (line != null)
至
String line = null;
while ((line = br.readLine()) != null)
尝试这个。 对不起,我还没有测试。
ArrayList<String[]> tmp = new ArrayList<String[]>();
String line;
while ((line = br.readLine()) != null) {
tmp.add(line.split(" ");
}
String[][] maze = tmp.toArray(new String[tmp.length()][]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.