[英]Writing object to file
我有一種應該將對象寫入文件的方法。 我嘗試了多種方法,但是要么不寫文件,要么進入catch
語句,我的代碼如下:
public void createFoo(Foo foo)
{
ObjectOutputStream out = null;
try
{
out = new ObjectOutputStream(new FileOutputStream("C:\\Users\\PERSON\\AndroidStudioProjects\\PROJECT\\bar.dat"));
out.writeObject(event);
Log.i("CreateFoo", "Write success");
}
catch (IOException e)
{
Log.i("CreateFoo", "Write - Catch error can't find .dat");
}
finally
{
try
{
out.close();
}
catch (Exception e)
{
Log.i("CreateFoo", "Write - Failed to close object output stream.");
}
}
}
我嘗試查看其他線程,但仍然遇到麻煩,我的Foo對象在其聲明中也implements Serializable
。
您的Android設備沒有C:\\\\Users\\\\PERSON\\\\AndroidStudioProjects\\\\PROJECT\\\\
目錄,主要是因為Android不是Windows,因此Android沒有驅動器號。 此外,您不能僅寫入Android中的任何目錄-您的應用僅限於內部存儲 , 外部存儲和(在Android 4.4+上) 可移動存儲 。
另外,將來,當您在Stack Overflow上詢問有關應用程序崩潰的問題時,請使用LogCat並發布堆棧跟蹤 。
更換
out = new ObjectOutputStream(new FileOutputStream("C:\\Users\\PERSON\\AndroidStudioProjects\\PROJECT\\bar.dat"));
與
File outFile = new File(Environment.getExternalStorageDirectory(), "bar.data");
out = new ObjectOutputStream(new FileOutputStream(outFile));
搞定了,謝謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.