将Java.dat文件转换为Python pickle
我有一些缓存文件,我将它们存储在java的.dat文件中。这些是HashMap数据结构:将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) 现在,我想使
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();
}
}