所以,第一个问题是如何从文件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];
}
}
答案 0 :(得分:1)
我像你一样阅读整个文件,然后只使用Java 8的流媒体功能为你做所有繁重的工作:
char[][] maze = lines.stream().map(String::toCharArray).toArray(char[][]::new);