Sokobanlevel格式(http://www.sokoban-online.de/help/sokoban/level-format.html)
希望你能帮助我。感谢。String file = "...";
BufferedReader br = Files.newBufferedReader();
String line = null;
int rows = file.length;
int cols = file[0].length;
char[][] room = new char [rows][cols];
while ((line = br.readLine()) != null) {
System.out.println(room[rows][cols]);
}
答案 0 :(得分:0)
您可以初始化2D数组,以便每行具有不同数量的列:
char[][] c = new char[7][];
c[0] = new char[5];
c[1] = new char[3];
//etc
答案 1 :(得分:0)
如果不知道文件中的行数,您需要首先从文件中读取所有内容以确定行数。如果您使用List<char[]>
来存储每行的char数组,这将是最简单的。
你可以轻松地在java 8中编写具有与单行相同功能的东西:
File fl = new File(file);
char[][] array = Files.lines(fl.toPath()).map(String::toCharArray).toArray(char[][]::new);