Java:将txt文件转换为第二个数组

时间:2017-05-13 16:09:13

标签: java arrays file maze

所以,第一个问题是如何从文件txt中获取列数。 该文件是这样的:

WWWSWW\n  
WWW___\n   
WWWWWW\n  
W_____\n  
WWW_WW\n  
W_____\n  
W_W_W\n  
WE____\n  

在这个例子中,我有8行8列,但我必须从文件中提取它。

另一个问题是我无法将数组返回给另一个类。

我的代码:

File file = new File("maze.txt");
Scanner scanner = new Scanner(file);
//contar as linhas
List<String> lines= 
Files.readAllLines(Paths.get("maze.txt"),Charset.defaultCharset());

int noOfLines=lines.size()-1;
char[][] myArray=new char[noOfLines][noOfLines];

//this read the file and make the array
for (int row = 0; scanner.hasNextLine() && row < noOfLines; row++) {
    char[] chars = scanner.nextLine().toCharArray();
    for (int i = 0; i < noOfLines && i < chars.length; i++) {
        myArray[row][i] = chars[i];

    }

}

1 个答案:

答案 0 :(得分:1)

我像你一样阅读整个文件,然后只使用Java 8的流媒体功能为你做所有繁重的工作:

char[][] maze = lines.stream().map(String::toCharArray).toArray(char[][]::new);