-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以利用该软件。还有其他形式的本地永久存储容易测试但很难利用。它强烈依赖于他的软件的要求。 –