如何将仅包含char的文本文件中的数据读入2d数组,而仅使用java.io.FileScanner和文件未找到异常?

这是我试图使该方法将文件读入2D数组的方法。

public AsciiArt(String filename, int nrRow, int nrCol){
    this.nrRow = nrRow;
    this.nrCol = nrCol;

    image = new char [nrRow][nrCol];

    try{
        input = new Scanner(filename);

        while(input.hasNext()){

        }
    }
}

最佳答案

确保您导入的是java.io.*类(如果需要的话,则需要导入特定的类)。由于未指定要精确解析文件的方式,因此很难显示如何填充2D数组。但是此实现使用Scanner,File和FileNotFoundException。

public AsciiArt(String filename, int nrRow, int nrCol){
    this.nrRow = nrRow;
    this.nrCol = nrCol;
    image = new char[nrRow][nrCol];

    try{
        Scanner input = new Scanner(new File(filename));

        int row = 0;
        int column = 0;

        while(input.hasNext()){
            String c = input.next();
            image[row][column] = c.charAt(0);

            column++;

            // handle when to go to next row
        }

        input.close();
    } catch (FileNotFoundException e) {
        System.out.println("File not found");
        // handle it
    }
}

10-08 18:08