Here i have Folder(Books)in that i have 3 sub folders named:sub1, sub2, sub3 and sub1 have 2 files, sub2 have 3 files, sub3 have 4 files. And sub1.zip,sub2.zip and sub3.zip. I want to keep only zip files and delete sub1, sub2, sub3 folders of Books. With my code I'm able to delete all inside files of sub1 folder, sub2, sub3 finally all folders becoming empty, then how can I delete sub1,sub2 and sub3 folders.
public void SaveZipFiles(File destwithouAudio) throws IOException {
File[] listOfFiles = destwithouAudio.listFiles();
for (File listOfFile : listOfFiles) {
if (listOfFile.getName().endsWith(".zip")) {
} else {
File FolderInside = new File(listOfFile.getAbsolutePath());
File[] listOfFilesInside = FolderInside.listFiles();
for (File listOfFilesInside1 : listOfFilesInside) {
File deleteFolder = new File(listOfFilesInside1.getAbsolutePath());
//System.out.println(""+listOfFilesInside[j]);
RecursiveDelete(deleteFolder);
}
}
}
}
RecursiveDelete method code is:
public static void RecursiveDelete(File file) throws IOException {
if (file.isDirectory()) {
if (file.list().length == 0) {
file.delete();
System.out.println("Directory is deleted : " + file.getAbsolutePath());
} else {
String files[] = file.list();
for (String temp : files) {
File fileDelete = new File(file, temp);
RecursiveDelete(fileDelete);
}
if (file.list().length == 0) {
file.delete();
System.out.println("Directory is deleted : " + file.getAbsolutePath());
}
}
} else {
file.delete();
System.out.println("File is deleted : " + file.getAbsolutePath());
}
}
After deleting all files from sub1,sub2,sub3 foldersIi need to delete all sub1,sub2,sub3 folders.
Where to change the code?