2011-07-06 65 views
0

我在真實設備上測試我的Android應用程序。
string strFile = "/data/data/com.MYPROJECT/files/mylog.txt"Android缺失文件

(我正確地調用write,刷新,關閉的方法和我實際上可以確認該文件的確是用下面的代碼創建)

(new File(strFile)).isFile() -> returns true

:我的應用程序在創建日誌文件並且
(new File(strFile + "gibberish")).isFile() -> returns false

我想將這個文件傳輸到我的電腦,所以我從Android市場安裝了一個文件瀏覽器。但是,當我導航到/data/文件夾時,我發現它是空的。

那麼我在哪裏可以找到我的文件?

+1

可以在食,但作爲傳輸使用DDMS文件中的任何文件據我所知你仍然需要植根設備。 – gregory561

回答

2

它是空的,因爲Android安全模型阻止您閱讀不屬於您的目錄。

您可以從您的應用程序訪問它,因爲您的應用程序擁有該文件,因此可以使用它執行任何操作。

從安裝的文件資源管理器訪問目錄時,資源管理器正在運行的用戶沒有權限訪問/ data目錄中的任何內容。這就是爲什麼它看起來是空的。如果您嘗試從您的應用中讀取/數據,它也會顯示爲空,但由於您指定了完整路徑,因此您可以訪問最終文件。這不適用於瀏覽器,因爲您仍然以設備上的其他用戶身份運行。

有兩種選擇:

  1. 實施某種形式的導出功能,將文件保存到外置SD卡。這是FAT格式化,並不會強制權限,以便您可以訪問存儲在其上
  2. 根您的設備可以訪問所有文件,包括這個特殊的一個
+0

這解釋它,謝謝 – Caner