如何从 Android 中的文本文件创建二维数组?

How do I create a 2 dimensional array from a text file in Android?

如何通过读取如下所示的 .txt 文件来生成二维 Array 整数:

0000                
0100            
1233

您会使用 BufferedReader 还是 InputStream? 这是我目前所拥有的,它要么崩溃,要么只显示 52、52、52....

 public static void loadTileMap(String fileName, int height, int width) throws IOException{
    BufferedReader reader = new BufferedReader(new InputStreamReader(GameMainActivity.assets.open(fileName)));
    String line;
    tileArray = new int[width][height];
    while (true) {
        line = reader.readLine();
        if (line == null) {
            reader.close();
            break;
        }
        for (int i = 0; i < width; i++) {
            String string = line.toString();
            for (int j = 0; j < height; j++) {
                if (j < string.length()) {
                    int k = (int)string.charAt(j);
                    tileArray[i][j] = k;
                }
            }
        }
    }
}

缓冲阅读器。同样要制作一个二维数组,步骤应如下所示:

1 - 制作二维数组

2 - 在您阅读观察线时将其添加到数组[line#][0]

此外,您正在将 char 转换为 int。从而导致它更改为 Unicode(或我不知道的 ASCII)表示形式,例如52.

好的,谢谢你的帮助!我按照 CyberGeek.exe 的建议做了,但我做了一些修改。这是我的代码:

public static int[][] tileArray;

public static void loadTileMap(String fileName, int height, int width) throws IOException {

        BufferedReader reader = new BufferedReader(new InputStreamReader(GameMainActivity.assets.open(fileName)));
        String line;
        tileArray = new int[width][height];

        for (int i = 0; i < width; i++) {
            line = reader.readLine();
            if (line == null) {
                reader.close();
            }
            for (int j = 0; j < height; j++) {
                int k = Integer.parseInt(line.substring(j, j+1));
                tileArray[i][j] = k;
            }
        }
}

可能有更简单的方法,但我不确定。无论哪种方式,这对我都有效!