我正在使用以下指令创建一个世界可读的文件:
FileOutputStream fos = openFileOutput(filename.toString(), MODE_WORLD_READABLE);
文件已创建(我可以看到模拟器的内存和文件),但我在我的设备上找不到它!它在哪里?
我正在使用以下指令创建一个世界可读的文件:
FileOutputStream fos = openFileOutput(filename.toString(), MODE_WORLD_READABLE);
文件已创建(我可以看到模拟器的内存和文件),但我在我的设备上找不到它!它在哪里?
在应用程序的内部存储中 .. 默认情况下/data/data/<package_name>/
检查这个目录..
但是,如果您的设备是无根的,那么您将无法在DDMS -> FIle-Explorer中看到此文件。
为此,您可以通过 commnad 提示尝试使用adb shell
如果您只想访问应用程序中的文件,请使用,
getFilesDir()
获取保存内部文件的文件系统目录的绝对路径。
该文件位于 /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设备即可工作。