我是Android编程新手,我正在通过android内部存储编码。
我已使用以下代码将文件写入
public void deleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory()) {
for (File child : fileOrDirectory.listFiles()) {
deleteRecursive(child);
}
}
fileOrDirectory.delete();
}
该文件夹是在
下创建的现在我要删除"用户"包含除一个文件外的所有内容的文件夹。假设我要删除整个内容,但名为"文件56"的文件除外。 我用来删除整个用户文件夹的代码是,
::DebugBreak()
现在我如何删除除特定文件以外的所有内容?
答案 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 }}