Как прочитать текстовый файл и преобразовать его в двумерный массив в Java - PullRequest
0 голосов
/ 24 февраля 2020

Это первый раз, когда я работаю с файлами.

То, чего я пытаюсь добиться, - это преобразовать мою функцию чтения в 2-мерную сетку. Я трижды проверил, что переменная карты всегда является именем файла .txt. мой код ниже:

    public static char[][] readFile(String map){
        char[][] grid = new char[15][15];
        String line;
        try{    
            if (map.equals("Map_1.txt")){
                grid = new char[10][10];
            }
            else{
                grid = new char[15][15];
            }
            int count = 0;
            File file = new File(map);
            Scanner sc = new Scanner(file);
            while (sc.hasNextLine()){
                line = sc.nextLine();
                for (int i = 0; i < line.length(); i++){
                    if (!(line.charAt(i) == ' ')){
                        grid[count][i] = line.charAt(i);
                    }
                }
                count++;
            }
            return grid;
        }
        catch(Exception e){
        ;
        }
        return grid;
    }

мой вывод выглядит следующим образом в зависимости от файла, который я пытаюсь прочитать. Все пустое пространство представляется в виде прямоугольных angular пробелов.

@ �. �. � # �. � � � � � � � � � � � � � � � � � � � � � � � � � � � �� 100 � � � � � � � � � � � � � � � � � � � � � 100 � � � � � 100 100 � � � 100

$ � � � � � � � � � � � � � � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � � � � � � � � � �. 101 � � � � � � � � � � � � 101

...