//写入数据到文本文件
public static void writeData(){
File file = new File(examPath);
for (File listFile : file.listFiles()) {
listFile.delete();
}
for (Exam exam : exams) {
String data = "";
for (Question question : exam.getQuestions()) {
data += question + "\n";
}
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(examPath + "/" + exam.getName() + ".txt"));
bw.write(data);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
String data = "";
for (Student student : students) {
data += student.getName() + " " + student.getSno() + " " + student.getMajor() + " " + student.getClassName() + " " + student.getScore() + " " + student.getComment() + "\n";
}
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(studentPath));
bw.write(data);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
第四行,首先创建一个File实例,路径为字符串examPath里的路径
第五行的for循环里,是先把file指向的文件夹里的所有文件遍历出来,并且删除(一句话就是把该文件夹里的所有东西删了)
第九行,看样子Exam是一个实体类,然后是循环遍历exams(我估计它是list),然后用data把Exam实体存的Question都记录下来,try-catch里做的是:在examPath这个路径下新建一个txt文件,文件名取决于Exam实体里的name,同时把之前data里的数据写入到这个txt里
第23行开始,做的事跟第九行到第二十一行做的差不多。首先还是定义一个data,然后循环遍历集合students,集合里放的是Student实体,然后data记录每一个实体里的数据,包括name、sno、major等,每一行记录一个实体类的数据,大概就是下面酱紫,
name1 sno1 major1 className1 score1 comment1
name2 sno2 major2 className2 score2 comment2
然后还是用字符流,新建一个文件,路径是studentPath,这个应该是绝对路径,然后把data里的数据写进去,最后调用close关闭流,结束