我正在做关于 java I/O 数据的作业,问题是我不允许使用对象序列化从二进制文件加载数据。
以下是作业要求:
持久性,将对象写入文件和从文件中读取对象(文本格式)
• All objects should be written to a single file in a text format • All objects should be read form the same file • You should use JFileChooser
我有 3 个课程:Unit
、Assessment
和Task
。
该类Assessment
是抽象的,而IndividualAssessment
&GroupAssessment
是具体的子类。
Unit
有一个集合Assessment
并且Assessment
有一个集合Task
s.
我可以将所有数据保存到一个文本文件中,FileWriter
但我不知道如何将文本文件的每一行读入正确的Assessment
类。
我的意思是你如何识别哪条线是用于IndividualAssessment
或GroupAssessment
类的。
这是我尝试过的代码,但它不起作用:
BufferedReader bf = new BufferedReader(file);
While (bf.readLine != null){
Unit u = new Unit(bf);
diary.add(u);
try{
Assessment a = new IndividualAssessment(bf);
} catch (IOException ex){
Assessment a = new GroupAssessment(bf);
}
u.add(a);
Task t = new Task(bf);
a.add(t);