【问题标题】:How to write map collection on file and read it?如何在文件中写入地图集合并读取它?
【发布时间】:2012-11-15 15:49:24
【问题描述】:

我想用每个文件的文件路径和状态进行收藏,然后将其保存在文件中
并在我需要时再次阅读它在 java 中以及对此最好的集合类型。
状态布尔锁定或解锁的类型

【问题讨论】:

  • 你要存储什么样的状态?

标签: java file collections iostream


【解决方案1】:

使用属性对象,因为您可以使用基于字符串的保存和加载。

【讨论】:

  • 这很好,因为与序列化地图不同,输出文件是人类可读的。属性还提供了很好的工具来读取/写入布尔值。 +1
  • 如果操作系统是windows并且绝对路径应该存储驱动器号后的“:”必须转义
【解决方案2】:

由于状态是布尔值,因此以下将起作用:

Map<File,Boolean> status = new HashMap<File,Boolean>();

由于FileHashMapBoolean 都实现了Serializable,因此您可以使用ObjectOutputStream 将地图写入文件并使用ObjectInputStream 将其读回:

  FileOutputStream fos = new FileOutputStream("status.dat");
  ObjectOutputStream oos = new ObjectOutputStream(fos);
  oos.writeObject(status);
  oos.close();

如果状态变得更复杂,请务必使用实现 Serializable 的类,或者如果它是自定义类,请自行实现 Serializable

【讨论】:

  • 状态布尔类型是否锁定
猜你喜欢
  • 2011-12-09
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
相关资源
最近更新 更多