将对象反序列化到PC文件系统并用作资源?

时间:2011-06-22 19:53:42

标签: java android serialization file-io resources

这可能是一个愚蠢的问题:

我希望将一个对象序列化为一次性,然后将其用作资源(每次读取时反序列化)。如何编写此序列化对象,以便我可以从PC访问它并将其放在/res/raw文件夹中(然后它将始终只是被读入和反序列化)?

我试过了:

                 try
                 {
                   FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory().toString() + "/solver.sol"));
                   ObjectOutputStream out = new ObjectOutputStream(fos);
                   out.writeObject(solver);
                   out.close();
                 }
                 catch(IOException ex)
                 {
                   ex.printStackTrace();
                 }

以及将<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />放在AndroidManifest.xml中 但我无法从我的PC访问它将它放在资源文件夹中?

先谢谢

Calum

2 个答案:

答案 0 :(得分:0)

...试

Environment.getExternalStorageDirectory().getAbsolutePath()

...而不是.toString()

答案 1 :(得分:0)

@MisterSquonk是对的。另外,在卸载SD卡之前,请尝试关闭FileOutputStream