0

我正在使用以下指令创建一个世界可读的文件:

FileOutputStream fos = openFileOutput(filename.toString(), MODE_WORLD_READABLE);

文件已创建(我可以看到模拟器的内存和文件),但我在我的设备上找不到它!它在哪里?

4

2 回答 2

2

应用程序的内部存储中 .. 默认情况下/data/data/<package_name>/

检查这个目录..

但是,如果您的设备是无根的,那么您将无法在DDMS -> FIle-Explorer中看到此文件。

为此,您可以通过 commnad 提示尝试使用adb shell

如果您只想访问应用程序中的文件,请使用,

getFilesDir()

获取保存内部文件的文件系统目录的绝对路径。

于 2012-08-27T09:38:44.047 回答
0

该文件位于 /data/data/com.yourpackagename/files/filename.txt 中,除非设备已植根,否则该文件是隐藏的。您可以通过从创建文件的目录复制文件来访问该文件。

从命令行:

复制文件

adb -d shell 
run-as com.yourpackagename 
cat /data/data/com.yourpackagename/files/filename.txt > /sdcard/filename.txt

或者对于 SQLite 数据库

cat /data/data/com.yourpackagename/databases/dbname.db > /sdcard/dbname.sqlite 

此解决方案无需root设备即可工作。

于 2014-06-24T21:09:23.230 回答