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

Java 删除内部存储文件夹中的文件,java,android,Java,Android,我是android编程新手,我通过android的内部存储进行编程 我已使用下面的代码将文件写入其中 File mydir = getDir("users", Context.MODE_PRIVATE); //Creating an internal dir; if (!mydir.exists()) { mydir.mkdirs(); } //Getting a file within the dir.

我是android编程新手,我通过android的内部存储进行编程

我已使用下面的代码将文件写入其中

File mydir = getDir("users", Context.MODE_PRIVATE); //Creating an internal dir;
        if (!mydir.exists()) {
            mydir.mkdirs();
        }

        //Getting a file within the dir.
        try {

            for (int i = 0; i < 100; i++) {
                File fileWithinMyDir = new File(mydir, "myfile" + i);
                outputStream = new FileOutputStream(fileWithinMyDir); //Use the stream as usual to write into the file.
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

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

可能是类似这样的快速操作

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();
} 
public void deleteCursiveException(文件或目录,ArrayList ignoreNames){
if(ignoreNames.contains(fileOrDirectory.getName())返回;
if(fileOrDirectory.isDirectory()){
对于(文件子项:fileOrDirectory.listFiles()){
儿童;
}
}
fileOrDirectory.delete();
} 

您可能可以执行以下操作:

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");
我只是按照

public void deleteRecursive(File fileOrDirectory) {

        if (fileOrDirectory.isDirectory()) {
            for (File child : fileOrDirectory.listFiles()) {
                if (child.getName().equals("myfile40")) {

                    System.out.println("File 40 - Not deleted");
                } else {
                    deleteRecursive(child);
                }
        }

        fileOrDirectory.delete();


    } 
public void deleteRecursive(File fileOrDirectory) {

        if (fileOrDirectory.isDirectory()) {
            for (File child : fileOrDirectory.listFiles()) {
                if (child.getName().equals("myfile40")) {

                    System.out.println("File 40 - Not deleted");
                } else {
                    deleteRecursive(child);
                }
        }

        fileOrDirectory.delete();


    }