![](/img/trans.png)
[英]ArrayList for Files in Folder Android Internal Storage /storage/emulated/0/
[英]Deleting files in Internal Storage folder 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.
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();
}
該文件夾已在下創建
現在,我要刪除除一個文件之外的所有內容的“用戶”文件夾。 說我要刪除全部內容,但文件名為“文件56”的文件除外。 我用來刪除整個用戶文件夾的代碼是,
public void deleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory()) {
for (File child : fileOrDirectory.listFiles()) {
deleteRecursive(child);
}
}
fileOrDirectory.delete();
}
現在如何刪除除該特定文件以外的所有內容?
也許像這樣的快速?
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 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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.