例如使用序列化存储存入一个 List,保存时没有错误,但有时会出现再次读取出后 List 中的某些元素会缺失,比如我的正确 List 是["1","2","3","4","5"],读出后的结果可能为["1","2","3"]或["4","5"],请问这是什么原因造成的,是存储时数据保存不全还是读取时出的问题。使用的代码如下,其中 DataCollector.finalDataMap 是静态变量,使用时会反复执行存储操作。 存
String md5 = basicOperation.getMD5((Serializable) DataCollector.finalDataMap); FinalDaTaWithMD5 fdw5 = new FinalDaTaWithMD5(); fdw5.finaldata = DataCollector.finalDataMap; fdw5.MD5 = md5; fdw5.qy_type = DataCollector.qyt; fdw5.ds_type = DataCollector.dst; FileOutputStream fos = new FileOutputStream(dir+File.separator+DataCollector.wjm+ ".dat"); ObjectOutputStream os = new ObjectOutputStream(fos); os.writeObject(fdw5); os.close();
读try { FileInputStream fis = new FileInputStream(outfilename); ObjectInputStream is = new ObjectInputStream(fis); FinalDaTaWithMD5 fdw5 = (FinalDaTaWithMD5) is.readObject(); map = fdw5.finaldata; DataCollector.qyt = fdw5.qy_type; DataCollector.dst = fdw5.ds_type; is.close(); } catch (Exception e) { e.printStackTrace(); }
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.