Java 删除内部存储文件夹中的文件
我是android编程新手,我通过android的内部存储进行编程 我已使用下面的代码将文件写入其中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.
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();
}