?寫一個方法saveWorkerToFile(Worker?w,File?file),該方法完成以下功能:????????????假設有一個worker對象w1,File?對象f1?如下:????????????????????????Worker?w1=?new?Worker("tom",30,500);????????????????????????File?f1?=?new?File("test.txt");則調用saveWorkerToFile(w1,f1)會在test.txt中增加一行:tom/30/500?
1 回答

qq_連環_04358155
TA貢獻34條經驗 獲得超5個贊
這個實現方法很多。
如果只是要把w1這個對象寫入文件中,則需要使Worker類實現可序列化接口,save方法如下:
saveWorkerToFile(Worker w,File file){
? ? ? ? ? ? ?try(ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));)
? ? ? {
? ? ? ? ? ? ?out.writeObject(w);
? ? ?}
}當然這樣得到的結果不是在文本文件中增加一行,而是將對象w以其二進制序列化方式存儲到文件中
如果要得到你所需要的結果需要使用PrintWrite,save方法如下:
saveWorkerToFile(Worker w,File file){
? ? ? ? ? ? ?try(PrintWrite out = new PrintWrite(new?FileOutputStream(file),true);)
? ? ? ?{
? ? ? ? ? ? out.print(w.getName()+"/");
? ? ? ? ? ? out.print(w.getxxx()+"/");
? ? ? ? ? ? out.println(w.getxxx());
? ? ?}
}
? ?
添加回答
舉報
0/150
提交
取消