文件在Android中保存在哪里?

时间:2013-03-15 10:20:47

标签: android

我正在开发一个在文本文件中写入一些JSON数据的应用程序:

FileOutputStream fOut;
fOut = openFileOutput("myfile.txt", MODE_PRIVATE);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
osw.write(myJSONData);

我正在设备上测试此应用程序,当我将其插入计算机时,我无法看到该文件。你能告诉我它存储在哪个目录下吗?我是否需要将文件的操作模式设置为MODE_WORLD_READABLE才能看到它?

4 个答案:

答案 0 :(得分:2)

将文件保存在/data/app_package_name/files文件夹中。用户无法通过文件管理器访问此位置 - 只有您的应用可以通过代码访问它。

此外,如果您真的非常渴望访问私人文件,那么您需要考虑选择 rooting 您的设备。

答案 1 :(得分:1)

在移动设备为root之前,您无法直观地看到内部文件。如果您想查看它,请将其存储在SD卡中。

答案 2 :(得分:1)

将其插入计算机通常是将其安装到SD卡上。要保存到该文件,请使用Environment.getExternalStorageDirectory()获取SD卡根目录文件,然后使用该文件构建一个新文件,并将所需的字符串文件名作为参数。这会将它保存到您的SD卡上,该卡应该是您在计算机上安装时看到的第一个文件夹。

顺便说一句,要将text / JSON直接写入文件,只需使用FileWriter

答案 3 :(得分:0)

要将文件保存到Android上的内部存储空间(从SDK 23开始),请使用getFilesDir()获取应用程序的文件存储位置并将其保存在那里。然后应将文件保存到/data/user/0/your.app.name/files。请参阅:Saving Files

File filename = new File(getFilesDir(), "filename.txt");

编写完成后,您可以使用adb

从计算机中检索此文件
adb pull "/data/user/0/your.app.name/files/filename.txt"