将Java.dat文件转换为Python pickle

将Java.dat文件转换为Python pickle,java,python,caching,serialization,pickle,Java,Python,Caching,Serialization,Pickle,我有一些缓存文件,我将它们存储在java的.dat文件中。这些是HashMap数据结构: ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(cachePath)); oos.writeObject(common_value_Cache); oos.close(); withopen('/cache.dat', 'rb') as handle: b = pickle.load(handle) 现在,我想使

我有一些缓存文件,我将它们存储在java的.dat文件中。这些是HashMap数据结构:

ObjectOutputStream oos = new ObjectOutputStream(new 
FileOutputStream(cachePath));
oos.writeObject(common_value_Cache);
oos.close();
withopen('/cache.dat', 'rb') as handle:
b = pickle.load(handle)
现在,我想使用python程序打开这些文件,并在相同的字典中读取它们数据结构:

ObjectOutputStream oos = new ObjectOutputStream(new 
FileOutputStream(cachePath));
oos.writeObject(common_value_Cache);
oos.close();
withopen('/cache.dat', 'rb') as handle:
b = pickle.load(handle)
还有什么我能做的吗? 我得到了很多错误,比如:ValueError:binary模式不接受编码参数

如何在python中加载.dat文件?

您可以试试

用于生成编码HashMap结构的cache.json文件的java代码

import java.io.IOException;

import java.io.ObjectOutputStream;
import java.io.FileOutputStream;
import java.util.HashMap;

public class savehashmap{
    public static void main(String[] args)throws IOException{
        HashMap<String,String> obj=new HashMap<String,String>();
        obj.put("foo","bar");
        obj.put("lorem","ipsum");
        obj.put("hello","world");
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("cache.dat"));
        oos.writeObject(obj);
        oos.close();
    }
}