在应用程序目录中创建文件夹

时间:2015-03-10 07:17:00

标签: android file uninstall

我使用了getFilesDir()在应用程序目录中创建了一个文件夹,它给出了applicatoin目录的路径,如下所示

  

/ data / data / {我的应用程序包} / files

但当我用它来创建一个新的文件夹时使用

File folder = new File(getFilesDir()
            + "/MyFolder");
    if (!folder.exists()) {
        folder.mkdir();
    }

我没有看到任何文件夹。此外,当我在 ES Explorer 中访问时,应用程序目录的实际路径为

  

/ Android / data / {my package name} / files

我的问题是如何在应用程序目录中创建一个文件夹,以便在卸载应用程序时自动删除它。

2 个答案:

答案 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));