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クラスは抽象的です。IndividualAssessmentGroupAssessment
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);