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
Unit
、Assessment
、およびの3 つのクラスがありTask
ます。
& は具体的なサブクラスですが、Assessment
クラスは抽象的です。IndividualAssessment
GroupAssessment
Unit
のコレクションをAssessment
持ち、 のコレクションをAssessment
持っていTask
ます。
すべてのデータを 1 つのテキスト ファイルに保存できますが、テキスト ファイルの各行を適切なクラス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);