【发布时间】:2021-12-24 21:28:17
【问题描述】:
几天来我一直在尝试将文件转换为字符串 [] [],但仍然出现错误。我不知道如何继续。
String[][] lecture_tab;
public void readLines() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("lvl1.txt"));
int i = 0;
while (i < 15) {
for (String line; (line = br.readLine()) != null; ) {
System.out.println(line);
this.lecture_tab[i] = line;
i += 1;
}
}
System.out.println(lecture_tab);
}
文本文件如下所示:
###################
###################
###################
###################
###################
###################
###################
###################
###################
###################
###################
###################
###################
###################
###################
/!\ 更新 /!\ : 听了你的建议后,我终于做了我想做的事。差不多,当我尝试显示我的矩阵时,只显示第一行,其他 14 行是空的......
public void readLines() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("lvl1.txt"));
for (int i = 0; i < lecture_tab.length; i++) {
for (String line; (line = br.readLine()) != null;) {
for(int j = 0; j < 19; j++) {
this.lecture_tab[i][j] = line.charAt(j);
}
}
}
for (int i = 0; i < this.lecture_tab.length; i++) {
for (int j = 0; j < this.lecture_tab[i].length; j++) {
System.out.print(this.lecture_tab[i][j]);
}
System.out.println();
}
}
输出:
###################
【问题讨论】:
-
将文件内容放入其中后,二维数组应该是什么样子?换句话说,为什么它是
String[][]而不是String[],其中数组的每个元素都是一行?第二个维度是干什么用的? -
感谢您的反馈@Federico klez Culloch,我想要
String[][],因为我正在开发游戏,这就是我想使用矩阵的原因。必须选中每个框,例如:lecture_tab [x] [y]。 -
不应该是
char[][]吗?无论如何,您需要使用另一个for循环(从 0 到line.length)循环遍历line中的每个字符,并且假设内部循环使用j作为索引,分配字符(单字符字符串?)到 Lecture_tab[i][j]. -
如果您想在每个字符处分割行,那么只需执行
lecture_tab[i] = line.split(""); -
这能回答你的问题吗? Read text file into an array
标签: java arrays string list file