Java 如何在Android中将哈希集保存到文件?

Java 如何在Android中将哈希集保存到文件?,java,android,hashset,Java,Android,Hashset,我正试图使用以下代码将哈希集(整数)导出到文件中,但似乎无法使用outputStream.write()执行此操作。在这里或谷歌上似乎没有任何先前的问题涉及到它,这让我感到惊讶 Hashset在活动中定义为: HashSet<Integer> set = new HashSet<Integer>(); 您正试图序列化文件上的哈希集。为此,您可以使用ObjectOutputStream try { outputStream = openFileOutput(f

我正试图使用以下代码将哈希集(整数)导出到文件中,但似乎无法使用
outputStream.write()
执行此操作。在这里或谷歌上似乎没有任何先前的问题涉及到它,这让我感到惊讶

Hashset在活动中定义为:

HashSet<Integer> set = new HashSet<Integer>();

您正试图序列化文件上的
哈希集。为此,您可以使用
ObjectOutputStream

try {
      outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
      ObjectOutputStream oos = new ObjectOutputStream(outputStream);
      oos.writeObject(set);
      oos.close();
    } catch (Exception e) {
      e.printStackTrace();
}
从以下文件:

将对象写入目标流


由于HashSet实现了Serializable,您可以尝试以下方法:

ObjectOutputStream output = new ObjectOutputStream(
                            new FileOutputStream("object.data"));

HashSet<Integer> object = new HashSet<Integer>();

output.writeObject(object);
//etc.

output.close();
ObjectOutputStream输出=新的ObjectOutputStream(
新的FileOutputStream(“object.data”);
HashSet对象=新的HashSet();
output.writeObject(对象);
//等等。
output.close();

为什么不能使用它?你是否检查过你的应用程序是否有写入文件的权限?谢谢你的回答。我是否能够使用
ObjectInputStream ois=newobjectinputstream(inputStream)读取它;set=ois.readObject()似乎我无法转换对象?
ObjectOutputStream output = new ObjectOutputStream(
                            new FileOutputStream("object.data"));

HashSet<Integer> object = new HashSet<Integer>();

output.writeObject(object);
//etc.

output.close();