删除内部存储文件夹android中的文件

时间:2017-02-06 11:26:28

标签: java android

我是Android编程新手,我正在通过android内部存储编码。

我已使用以下代码将文件写入

public void deleteRecursive(File fileOrDirectory) {

        if (fileOrDirectory.isDirectory()) {
            for (File child : fileOrDirectory.listFiles()) {
                deleteRecursive(child);
            }
        }

        fileOrDirectory.delete();


    } 

该文件夹是在

下创建的

现在我要删除"用户"包含除一个文件外的所有内容的文件夹。假设我要删除整个内容,但名为"文件56"的文件除外。 我用来删除整个用户文件夹的代码是,

::DebugBreak()

现在我如何删除除特定文件以外的所有内容?

3 个答案:

答案 0 :(得分:0)

也许像这样快速的东西?

public void deleteRecursiveExcept(File fileOrDirectory, ArrayList<String> ignoreNames) {
    if(ignoreNames.contains(fileOrDirectory.getName()) return;

    if (fileOrDirectory.isDirectory()) {
        for (File child : fileOrDirectory.listFiles()) {
            deleteRecursive(child);
        }
    }
    fileOrDirectory.delete();
} 

答案 1 :(得分:0)

您可以执行以下操作:

public void deleteRecursive(File fileOrDirectory, String fileNameToBeSkipped) {
    if (fileOrDirectory.isDirectory()) {
        for (File child : fileOrDirectory.listFiles()) {
            if (fileNameToBeSkipped == null || !child.getName().equals(fileNameToBeSkipped)) {
                deleteRecursive(child);
            }
        }
    }

    fileOrDirectory.delete();
}

public void deleteRecursive(File fileOrDirectory) {
    deleteRecursive(fileOrDirectory, null);
}

并开始删除:

deleteRecursive(getDir("users", Context.MODE_PRIVATE), "File 56");

答案 2 :(得分:0)

我只是这样做,

 {{ site.data.common.myvar }}