我使用了getFilesDir()在应用程序目录中创建了一个文件夹,它给出了applicatoin目录的路径,如下所示
/ data / data / {我的应用程序包} / files
但当我用它来创建一个新的文件夹时使用
File folder = new File(getFilesDir()
+ "/MyFolder");
if (!folder.exists()) {
folder.mkdir();
}
我没有看到任何文件夹。此外,当我在 ES Explorer 中访问时,应用程序目录的实际路径为
/ Android / data / {my package name} / files
我的问题是如何在应用程序目录中创建一个文件夹,以便在卸载应用程序时自动删除它。
答案 0 :(得分:3)
请改用方法Context.getDir()
。您无需调用mkdirs()
,因为getDir()
会自动执行此操作。
来自文档的引用:
检索,根据需要创建应用程序所在的新目录 可以放置自己的自定义数据文件。您可以使用返回的文件 用于创建和访问此目录中的文件的对象。请注意文件 通过File对象创建的只能由您自己访问 应用;你只能设置整个目录的模式,而不是 个别档案。
答案 1 :(得分:1)
通过使用getDir()
File dir = ctx.getDir("my_sub_dir", Context.MODE_PRIVATE);
File newfile = new File(topDirFile.getAbsolutePath() + File.separator + "new_file_name");
newfile.createNewFile();
BufferedOutputStream fout = new BufferedOutputStream(new FileOutputStream(newfile));