如何在内部存储中创建文件夹?

9njqaruj  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(596)

这个问题在这里已经有答案了

android在内存中创建文件夹(4个答案)
14天前关门了。
我试图在androidstudio的内部存储中创建一个文件夹(用户可以在其中访问该文件夹)(如果创建了该文件夹,我不想再创建它)。
我看到过这样的链接:android在内存中创建文件夹,但这里没有显示我想要什么。我希望用户可以访问数据,但我不想将其存储在这里,例如/data/data/package.name/app\u mydirname。
我尝试过该代码,但运行时总是出现问题:

public void createFolder(View v){
        File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "YOUR_FOLDER_NAME_HERE");
        if (!folder.exists()) {
            if(folder.mkdirs()){
                Log.d("App","file created successfully");
            }else{
                Log.d("App","error creating folder");
            }
        }else{
            Log.d("App","folder exists");
        }
    }

这里是logcat的输出:

2020-12-26 17:56:17.433 5981-5981/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2020-12-26 17:56:17.434 5981-5981/? E/Zygote: accessInfo : 1
2020-12-26 17:56:17.508 5981-5981/? E/mple.pruebadoc: Unknown bits set in runtime_flags: 0x8000
2020-12-26 17:56:18.878 5981-9037/com.example.pruebadocs E/gralloc: Arm Module v1.0
2020-12-26 17:56:18.879 5981-9037/com.example.pruebadocs E/ion: ioctl c0044901 failed with code -1: Invalid argument

我总是收到“错误创建文件夹消息”,但我不知道为什么。

jaql4c8m

jaql4c8m1#

看看android在内存中创建文件夹的答案。如果你在寻找java的解决方案,我认为他们是一个很好的例子。
编辑:正如有人指出的那样,为了便于理解,我发布了完整的示例:

File folder = new File(Environment.getDataDirectory() + File.separator + "YOUR_FOLDER_NAME_HERE");
if (!folder.exists()) {
    if(!folder.mkdirs()){
        //DO SOME ERROR HANDLING HERE
}
}
ss2ws0br

ss2ws0br2#

它将检查(mydir)我的目录是否存在,如果不存在(mydir.mkdirs())将创建它

File mydir = context.getDir("users", Context.MODE_PRIVATE);    
if (!mydir.exists()) {
      mydir.mkdirs(); 
}

相关问题