我一直在尝试编程一个叫做Sokoban的游戏,在过去的几天里。游戏的级别是简单的.txt文件,你可以交换。我已经使用BufferedReader读取了.txt文件,但将其保存到二维char数组时存在问题,因为每个级别的行数和列数都不相同。有人告诉我要利用charAt,但我该怎么做。Java:二维字符阵列
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]);
}
使用ArrayList。或者只是使用CSV阅读器库。这可能更容易。 – DejaVuSansMono
可能重复的[convert string to arraylist in java](http://stackoverflow.com/questions/15331637/convert-string-to-arraylist-character-in-java) –
@ LucasKot-Zaniewski理论上它是肯定的,但我不知道OP是否会得到它。 – DejaVuSansMono