【问题标题】:Cannot create a file?无法创建文件?
【发布时间】:2018-03-15 13:15:42
【问题描述】:

我在 Android 中创建文件时遇到问题。我按照this教程,写了这个方法:

public File getStorageDir(String name) {
        String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).toString();
        File file = new File(path, name);

        System.out.println(path);
        if (!file.mkdirs()) {
            System.out.println("Directory not created");
        }

        return file;
    }

路径变量打印 /storage/emulated/0/Documents,但是如果关闭并且没有创建这样的目录。我已经添加了

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />

清单文件的权限。我试过使用 file.getParentFile().mkdirs() 但得到了相同的结果。我做错了什么?

【问题讨论】:

  • 你有错误吗?如果是,请添加您的日志
  • Android cannot create file ???我没有看到您尝试创建文件。只有一个目录。
  • 没有错误......只是没有任何反应
  • 你安装的是哪个安卓版本的代码
  • I have added ... permissions to manifest file.。这对于 Android 6+ 来说是不够的,因为您每周至少可以在此处阅读十篇文章。请阅读一些标记为android 的stackoverflow 页面,您就会知道该怎么做。

标签: android file


【解决方案1】:

您使用以下代码创建文件夹。

File folder = new File(Environment.getExternalStorageDirectory() +
                File.separator + "folderName");

        if (!folder.exists()) {
            success = folder.mkdirs();
        }

【讨论】:

    【解决方案2】:

    事实证明它一直在创建,只是在文件资源管理器中不可见。我已经用this post 的回答修复了它。最终代码如下所示:

    public File getStorageDir(Context context, String name) {
            String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).getPath();
            File file = new File(path, name);
    
            file.getParentFile().mkdirs();
    
            MediaScannerConnection.scanFile(context, new String[] {path}, null, null);
    
            return file;
        }
    

    感谢大家的回答,希望对遇到同样问题的人有所帮助。

    【讨论】:

    • 这个函数在指定文件夹中创建文件。我会说它是某种东西。它解决了 MTP 协议的问题,如链接帖子中所述。没必要这么暴躁。
    • 它不创建文件。对不起。
    猜你喜欢
    • 2020-06-14
    • 2019-06-06
    • 2021-12-01
    • 2015-07-20
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多