簡體   English   中英

將對象寫入文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM