Java 如何将此文本文件添加到2d字符数组

Java 如何将此文本文件添加到2d字符数组,java,Java,我正在尝试添加一个如下所示的文本文件: 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[]

我正在尝试添加一个如下所示的文本文件:

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();
    }
}
private char[]maze=new char[100][100];
public void importMaze(字符串文件){
缓冲剂;
试一试{
br=新的BufferedReader(新的文件读取器(文件));
String line=br.readLine();
while(行!=null){
int i=0;
对于(int x=0;x
但它就是不起作用。有人能帮我储存这个吗?

一些东西

我建议从使用
line.charAt(x)
改为使用splits函数

String[] split = line.split(" ");
for (int x = 0; x < split.length; x++){
    maze[i][x] = split[x];

}

你从未在while循环中更新过你的行。。。错误就在这里

String line = br.readLine(); // <-- This reads one line
while (line != 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()][]);
ArrayList tmp=new ArrayList();
弦线;
而((line=br.readLine())!=null){
tmp.add(第行拆分(“”);
}
字符串[][]maze=tmp.toArray(新字符串[tmp.length()][]);

你需要更具描述性。“它只是不起作用”不会给你带来太多帮助。如果它有帮助,我认为
maze[x][I]=line.charAt(x);
应该是
maze[I][x]=line.charAt(x);
“但它就是不起作用。”试着描述a)你预期会发生什么b)实际发生了什么,对于实用工具c)您为什么期望(a)发生。while循环退出时,
line
将如何变为
null
?@gpojd除了它不终止这一事实之外,还有什么其他描述方式?如果它不工作它不工作,我可能会列出一个错误,如果我one@user3037916,我会明确声明它没有终止。
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()][]);