将文件作为二维字符数组读取

2022-07-01 00:00:00 arrays 2d java java.util.scanner

如何仅使用java.io.FileScanner和文件未找到异常将数据从只包含char的文本文件读入到二维数组中?

这是我尝试创建的方法,它将文件读入到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.*(或您需要的特定类,如果这是您想要的)以包括FileNotFoundException类。演示如何填充2D数组有点困难,因为您没有指定希望如何准确解析文件。但此实现使用了扫描仪、文件和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
    }
}

相关文章