我正在开发一个在文本文件中写入一些JSON数据的应用程序:
FileOutputStream fOut;
fOut = openFileOutput("myfile.txt", MODE_PRIVATE);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
osw.write(myJSONData);
我正在设备上测试此应用程序,当我将其插入计算机时,我无法看到该文件。你能告诉我它存储在哪个目录下吗?我是否需要将文件的操作模式设置为MODE_WORLD_READABLE
才能看到它?
答案 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"