在java内部存储中创建文件夹时出现问题

lqfhib0f  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(393)

我正在尝试在设备的内部存储器中创建一个文件夹,用户可以在其中访问数据(不想在此处创建文件夹:/data/data/package.name/app\u mydirname)。
经过大量的研究,我发现了这个问题,但创建文件时总是出错:

public void createFolder(View v){
        File folder = new File(Environment.getDataDirectory() + 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");
        }
    }

我已经试着解决这个问题有一段时间了,所以如果有人能帮助我,我会非常感激的!

pvcm50d1

pvcm50d11#

试试这个…替换你的函数

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 app");
        }
    }else{
        Log.d("App","folder exists");
    }
}

如果您的目标和compilesdk为29或更高,则必须添加“android:requestlegacyexternalstorage=在你的清单文件中为“真”。
希望这能奏效。

相关问题