-4
他們有什麼區別?以下哪一項是創建文件的最佳方式?
如何以文本格式存儲數據並在需要時檢索它?
我怎樣才能以一種簡單的方式存儲數據,直到我學習sql?
try{
FileWriter fileWriter=new FileWriter("C:\\Users\\acer\\Downloads\\java Q//somthing.txt");
fileWriter.write("here is the first text");
fileWriter.append(" \n the secound one ");
fileWriter.close();
} // try
catch(IOException e){
System.out.println(" an error occer ");
} // catch
還是那個樣子
WriteFile writeFile=new WriteFile(); // a class WriteFile the implements Serilizable
try{
FileOutputStream fileOutputStream=new FileOutputStream("C:\\Users\\acer\\Downloads\\java Q//something.ser");
ObjectOutputStream objectoutputs=new ObjectOutputStream(fileOutputStream);
objectoutputs.writeObject(writeFile);
objectoutputs.flush();
objectoutputs.close();
} // try
catch(IOException e){
System.out.println("an error occer");
} // catch
這取決於您的軟件的要求。序列化可能是危險的,檢查出[這個評論](http://stackoverflow.com/questions/38904182/store-restore-snapshot-state-of-entire-application/38904365#comment65227627_38904365)我寫了你爲什麼想要在存儲狀態到驅動器時避免序列化。我建議一個簡單的'FileWriter'或將狀態存儲到'Properties'文件中。如果用戶在存儲到驅動器時不應讀取數據,則可以創建自己的加密系統來轉換正在存儲的狀態。 –
2016年,「純Java對象序列化」絕對不是您的首選。它帶有很多限制;甚至有安全隱患。如果有的話,考慮將其「序列化」爲JSON字符串並將其保存爲可讀的文本。這使得測試對你來說更容易;並給予你天真的想法;我想你會花費很多時間......測試和調試。 – GhostCat
@GhostCat JSON很容易閱讀。如果存儲到驅動器,用戶可以(輕鬆地)訪問和編輯JSON以利用該軟件。還有其他形式的本地永久存儲容易測試但很難利用。它強烈依賴於他的軟件的要求。 –