android内部存储中的file.delete()返回false

引擎

我有一种从url下载图像并将其保存在内部存储文件夹中的方法

 public void saveDynamicImage(String url,String fileName, String folderName) {

    InputStream iStream;

    BufferedInputStream buffInputStream;
    ByteArrayBuffer byteArray = null;

    try {
        HttpGet httpGet = new HttpGet(url);
        HttpClient httpClient = new DefaultHttpClient();
        HttpResponse httpResponse = httpClient.execute(httpGet);
        iStream = httpResponse.getEntity().getContent();

        buffInputStream = new BufferedInputStream(iStream, 8 * 1024);
        byteArray = new ByteArrayBuffer(50);
        int current = 0;
        while ((current = buffInputStream.read()) != -1) {
            byteArray.append((byte) current);
        } 

    } catch (ClientProtocolException e1) {
    } catch (IOException e1) {
    }

    File dynamicImageDir = context.getDir(AppConstants.DYNAMIC_IMAGE, Context.MODE_PRIVATE);
    File appNamefileDir = new File(dynamicImageDir, BaseActivity.appDataStore.getAppName());
    appNamefileDir.mkdirs();
    File controlNameDir = new File(appNamefileDir, folderName);
    controlNameDir.mkdirs();
    File file = new File(controlNameDir, fileName);

    try {
        FileOutputStream outputStream = new FileOutputStream(file);
        outputStream.write(byteArray.toByteArray());
        outputStream.close();
        System.out.println("DynamicImage saving over!..");
    } catch (FileNotFoundException e) {
    } catch (IOException e) {
    }
}

我想在某个时间点删除整个目录。我删除整个目录的方法是

public void deleteDynamicImage() throws NullPointerException,FileNotFoundException {
    File rootDirectory = context.getDir(AppConstants.DYNAMIC_IMAGE, Context.MODE_WORLD_WRITEABLE);
    boolean status = rootDirectory.delete();
    Log.e("", "delete : "+status);

}

我的状态为“假”。文件已创建并且可以正常工作。唯一的删除问题。我有什么想念的吗?

亨利4343

您的文件是目录吗?

如果是这样,则需要先删除此文件夹中的文件,
此代码才能正常工作

public void deleteDirectory(File file) {
    if( file.exists() ) {
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for(int i=0; i<files.length; i++) {
                if(files[i].isDirectory()) {
                    deleteDirectory(files[i]);
                }
                else {
                    files[i].delete();
                }
            }
        }
            file.delete();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

android内部存储中的file.delete()返回false

来自分类Dev

在$ .each内部的$ .each中返回false

来自分类Dev

android:mkdirs()返回false

来自分类Dev

android File.mkdirs()总是返回false

来自分类Dev

Android bindservice方法返回false

来自分类Dev

在Android中删除文件返回false

来自分类Dev

mkdirs客场在Android 5.1中返回false

来自分类Dev

更新查询在Android中返回false

来自分类Dev

在 Sqlite Android 中查询总是返回 false

来自分类Dev

在Ruby中返回nil vs返回false

来自分类Dev

hasOwnProperty在FF中返回false

来自分类Dev

PHP中的getimagesize返回false

来自分类Dev

WriteConsole在MASM中返回false

来自分类Dev

在表单提交中返回false

来自分类Dev

为什么[False]中的False == False会返回True?

来自分类Dev

在vb.net中存储过程返回False

来自分类Dev

在共享NSUserDefaults中存储布尔值始终返回false

来自分类Dev

如果本地存储中存在数组,则返回false?

来自分类Dev

无法删除文件(.delete() 返回 false)

来自分类Dev

filename.delete()在JAVA中为false

来自分类Dev

move_uploaded_file()返回false

来自分类Dev

为什么file_exists()返回false?

来自分类Dev

is_uploaded_file返回始终为false

来自分类Dev

File.Exist总是返回false

来自分类Dev

File.Exists()始终返回false

来自分类Dev

move_uploaded_file()返回false

来自分类Dev

file.exists()对于android中的现有文件返回false

来自分类Dev

Android Wear BoxInsetLayout isRound始终返回false

来自分类Dev

Android的SharedPreferences commit()何时返回false?