android - 无法删除从 Android 中的计算机传输的文件

标签 android file-io

我正在制作一个视频下载器应用程序,保存和删除应用程序下载到外部存储的文件没有问题,但是应用程序无法删除从我的计算机传输的任何文件。

这是一个真正的问题,因为它是我想要的关键功能之一。这是我正在使用的代码:

public boolean deleteDataFromStorage(Data toDelete) {

    //The file object soon to be deleted
    File f = null;

    Log.e(TAG, "Deleting " + toDelete.fileName);

    // Delete file from storage
    try {

        // Get file to delete
        f = new File(Environment.getExternalStorageDirectory().getCanonicalPath() + DIRECTORY + toDelete.fileName);

    } catch (IOException e) {

        Log.e(TAG, e.toString());

        // Print to stack trace
        e.printStackTrace();
    }

    // Delete file
    if(f.delete()) {
        return true;
    } else {

        Log.e(TAG, "Failed to delete " + toDelete.fileName);
        return false;
    }
}

由于 f.delete() 函数没有抛出任何异常,我不知道问题出在哪里。我唯一能想到的是该应用程序没有删除在 Windows 中创建的文件的权限,但我已经从应用程序商店下载了可以毫无问题地删除传输文件的应用程序。

如有任何帮助,我们将不胜感激。

最佳答案

根据您的评论,由于 f.isFile()f.exists() 返回 false,您的 f 不是文件,换句话说,你弄错了路径。

打印到日志 f.getAbsolutePath(),检查它是什么,然后应该很容易修复。

关于android - 无法删除从 Android 中的计算机传输的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16626060/

相关文章:

Android-无法解析符号 BaseObservable

java - 读取大文件时OutofMemoryError

c - 使用 bread 返回一个 bstring

file-io - 使用 MoveFile 方法覆盖 vbscript 中目标中的文件的问题?

Java 扫描器不遍历整个文件

c++ - 创建一个文本文件并用 C++ 写入它?

android - 为什么 Maven Central 上的 Android 版本不包含 Google Apis( map )?

Android - 该包与同名的现有包冲突

android - 如何将框架布局放在应用程序的底部?

java - 在运行时覆盖资源