读取.text文件并存储在2D char数组java中

时间:2012-10-02 08:57:39

标签: java arrays 2d text-files

我有点卡住了。我如何让它工作或有更好的方法?请提供代码示例。

public char[][] charmap = new char[SomeInts.amount][SomeInts.amount];
public void loadMap() throws IOException{
    BufferedReader in = new BufferedReader(new FileReader("map1.txt"));
    String line = in.readLine();
    while (line != null){
        int y = 0;
        for (int x = 0; x < line.length(); x++){

            //Error
            charmap[x][y] = line[x];
            //
        }
        y++;
    }
}

3 个答案:

答案 0 :(得分:4)

语法line[x]是为数组保留的。 String不是数组。您可以使用String#charAt method并写:

charmap[x][y] = line.charAt(x);

答案 1 :(得分:1)

使用String.charAt(int)从字符串中获取字符..

答案 2 :(得分:1)

试试这个。

char[][] mapdata = new char[SomeInts.amount][SomeInts.amount];

public void loadMap() throws IOException{
    BufferedReader in = new BufferedReader(new FileReader("map1.txt"));
    String line = in.readLine();
    ArrayList<String> lines = new ArrayList<String>();
    // Load all the lines
    while (line != null){
        lines.add(line);
    }
    // Parse the data
    for (int i = 0; i < lines.size(); i++) {
        for (int j = 0; j < lines.get(i).length(); j++) {
            mapdata[j][i] = lines.get(i).charAt(j);
        }
    }
}

希望这有帮助。