簡體   English   中英

保存的 object 未從 sd 卡讀取

[英]Saved object not being read from sd card

因此,在我正在制作的 android 游戲(使用 andEngine)中,我試圖將 TMXtiled map 保存為 object 並稍后調用以節省加載時間。 我已經設法獲取了 SD 卡上的文件,但在嘗試從 SD 卡中讀取時遇到了問題。 這是我用來編寫文件的代碼:

File root = Environment.getExternalStorageDirectory();
FileOutputStream fos = new FileOutputStream(root + "/fileTest");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(tmxLoader.loadFromAsset(mContext, "tmx/test.tmx"));
oos.close();

然后我用它從 sd 卡中讀取文件:

FileInputStream in = new FileInputStream(root + "/fileTest"); 
ObjectInputStream os = new ObjectInputStream(in); 
mTMXTiledMap = (TMXTiledMap) os.readObject();
os.close();

我不斷收到的錯誤是 null 指針異常,這讓我相信文件沒有被讀取。 我在 java 中測試了這種方法,然后在 android 中使用它並且它有效,但是我使用的是字符串。 上面的代碼有問題嗎? 還有更好的方法來存儲這些大對象嗎? 我注意到的另一件事是 sd 卡上的文件大約 3KB,但是我看到 TiledMap 使用 DDMS 占用了更多空間,這是否意味着文件沒有被完全寫入?

是的,我認為您沒有給出完整的路徑,即擴展名為

FileInputStream in = new FileInputStream(root + "/test.tmx");

希望這能解決你的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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