2017-04-23 84 views
0

我想读取一个txt文件到2d字符数组。我的问题是我试图做的方式产生一个错误。你将如何用txt文件填充这个数组?如何读取文件到2d字符数组

public char[][] readFile(String filename) { 

    try { 

     Scanner scan= new Scanner(new File(filename)); 



     int x= scan.nextInt(); 
     int y = scan.nextInt(); 
     char [][] maze= new char [x][y]; 
     for(int i=0;i<maze.length; i++){ 
      for(int j=0; j< maze[i].length; j++){ 
       maze[i][j]= scan.next().toCharArray(); 

      } 
     } 


     return maze; 

    } catch (FileNotFoundException e) { 
     return null; 

    } 

} 
+0

它似乎是一个编译错误导致行maze [i] [j] = scan.next.toCharArray(); –

+0

您正在尝试在字符中存储char数组 –

+0

现在它说线程“main”中的异常java.util.NoSuchElementException –

回答

0
maze[i]= scan.next().toCharArray(); 

只是这样做。但是,如果toCharArray()返回的数组超出列(y)大小声明的大小,它可能会在运行时产生异常。

+0

这是构建数组,除了测试代码是说“readFile不正确构建数组。”。所以我不知道现在发生了什么 –

+0

确保.txt文件中的字符被一个空格分开。 –

+0

是这样的:1 1 1 1 –

相关问题