好的,这是相当长的一段时间,但我到处都是,我仍然不确定如何做到这一点。这是课堂布局中的学生信息列表。该程序用于让孩子选择一个座位,但一旦他们选择了座位,它就应该有状态更新,以便其他人无法接受。
栏目解释 - (1)学生编号顺序(2)男/女(3)靠窗座位/过道座位(4)有/无桌子(5)前座/后座(6)轻松进入座椅< / p>
.txt文件;
01 2 true false true false
02 2 false false true false
03 1 true false true true
04 2 false false true true
05 1 true true true false
我知道他们完全没有意义,但这仅仅是一个例子。
如何让程序使用数组读取这些行中的每一行来存储所有这些信息?对于儿童1,2,3的座位等.txt文件确切地表示如上所述的座位类型。一旦数组读完,我希望它能够保存每一行。
答案 0 :(得分:0)
如果您只想读取文件并将每一行分别存储在一个数组中,您可以执行以下操作。请注意,由于您不知道将获得多少行,因此无法预先创建数组。
String[] result;
ArrayList<String> lines = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("path"))) {
while (reader.ready()) {
lines.add(reader.readLine());
}
} catch (IOException e) {
// proper error handling
}
result = lines.toArray(new String[lines.size()]);
或者,如果您希望能够直接访问列:
String[][] result;
ArrayList<String[]> lines = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("path"))) {
while (reader.ready()) {
lines.add(reader.readLine().split(" ");
}
} catch (IOException e) {
// proper error handling
}
result = lines.toArray(new String[lines.size()][]);
for(String[] lineTokens) {
String studendNumber = lineTokens[0];
boolean gender = Boolean.parseBoolean(lineTokens[1]);
...
}
答案 1 :(得分:-1)
让我们说你的文件名是students.txt 所有你需要做的就是读取数据并将其存储到一个字符串数组中,以便以后使用它来解决这个问题:
BufferedReader in = new BufferedReader(new FileReader("students.txt"));
String[][] data = new String[][6];
int i = 0;
while(in.ready()){
data[i] = bf.readLine().split(" ");//use whatever is separating the data
i++;
}
答案 2 :(得分:-1)
如果您只想阅读java中的文本文件,请查看:Reading a plain text file in Java
不能保存每一行,它是一个文件,而不是数据库。因此,加载文件,根据需要更改数据,保存。
您还应该考虑格式......可以使用XML,JSON或CSV格式来存储数据。有些库可以为你完成大部分工作......
如果您计划并行访问您的程序数据(多个程序实例和用户,只有一个数据文件),那么简单的文本文件就是您需要的错误解决方案。