Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除正在使用的某些文件夹时,Android应用程序无法正常工作_Java_Android_File - Fatal编程技术网

Java 删除正在使用的某些文件夹时,Android应用程序无法正常工作

Java 删除正在使用的某些文件夹时,Android应用程序无法正常工作,java,android,file,Java,Android,File,我遇到的一个问题是,当用户删除正在使用的某些文件夹时,我的android应用程序无法正常工作。 为了解决这个问题,每次应用程序访问(创建或修改文件)文件夹时,都会调用一个函数以确保文件夹存在 /** * ensure that cache folder exists<br/> * */ public void ensureCacheFolderExist(){ File cacheFile = new File(AUDIO_CACHE_PATH);

我遇到的一个问题是,当用户删除正在使用的某些文件夹时,我的android应用程序无法正常工作。
为了解决这个问题,每次应用程序访问(创建或修改文件)文件夹时,都会调用一个函数以确保文件夹存在

    /** 
 * ensure that cache folder exists<br/>
 * */
public void ensureCacheFolderExist(){   
    File cacheFile = new File(AUDIO_CACHE_PATH);
    if (!cacheFile.exists()) {
        boolean returnValue=cacheFile.mkdirs();
        MusicUtils.logE("ensureCacheFolderExist no"+returnValue);
    } else {
        MusicUtils.logE("ensureCacheFolderExist yes");
        if (cacheFile.isFile()) {
            cacheFile.delete();
        }
    }
}

除非您的存储卡内存不足,否则我看不出它无法执行mkdirs的原因。我希望你已经得到了明确的许可

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


音频缓存路径的值是多少?我更新了此音频缓存路径,我认为这不是问题。名称中有“.”可能是个问题,您能在
mkdirs()之前记录/打印
AUDIO\u缓存路径的值吗
?/storage/sdcard0/sogouappmall/mp3这是@ashoke/storage/sdcard0/sogouappmall/mp3这是@OkasSeems多进程在同一文件夹或文件上操作的值可能会导致我的问题。我已经添加了uses权限,这不是原因。@JackieWang请回答我的更新,尝试使用
getExternalStoragePublicDirectory
,如果仍然存在问题,请尝试。
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    File cacheFile = new File(AUDIO_CACHE_PATH);
    File cacheFile = new File(Environment.getExternalStoragePublicDirectory(
          Environment.DIRECTORY_DCIM), "sogouappmall/mp3");