首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mkdirs()方法不能工作?

为什么mkdirs()方法不能工作?
EN

Stack Overflow用户
提问于 2015-08-14 02:05:53
回答 1查看 855关注 0票数 3

在任何人将其标记为副本之前,我想让大家知道,我已经在SO上经历了很多关于mkdirs()方法的问题,而且没有一个问题对我有用,所以我相信对于这个问题,我有一个特别的例子值得问。

我尝试使用mkdir(),将目录File的实例化更改为

代码语言:javascript
复制
new File(Environment.getExternalStorageDirectory())
new File(Environment.getExternalStorageDirectory().getAbsolutePath())
new File(Environment.getExternalStorageDirectory(), "Directory")
new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "Directory")
new File(Environment.getExternalStorageDirectory().toString + "/Directory")

但什么都不管用。

注意:我的清单中也有WRITE_EXTERNAL_STORAGE权限。

下面是我的代码片段:

代码语言:javascript
复制
File rootDirectory = new File(Environment.getExternalStorageDirectory(), getActivity().getPackageName());

File directory = new File(rootDirectory, "Directory");
if (!directory.exists()) {
    if(directory.mkdirs()){
       Log.d("log", "exists");
    } else {
       Log.d("log", "not exists");
    }
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-14 03:14:23

mkdirs创建完整的文件夹树,mkdir只创建完整文件夹树路径中的最后一个文件夹。

使用这样的代码:

代码语言:javascript
复制
String foldername = "HelloWorld";
                 File dir = new File(Environment.getExternalStorageDirectory() + "/" + foldername);
                if (dir.exists() && dir.isDirectory()) {
                    Log.d("log", "exists");
                } else {
                    //noinspection ResultOfMethodCallIgnored
                    dir.mkdir();
                    Log.d("log", "created");
                }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32001235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档