En Java, quiero eliminar todos los contenidos que están presentes en una carpeta que incluye archivos y carpetas.eliminando carpeta de java
public void startDeleting(String path) {
List<String> filesList = new ArrayList<String>();
List<String> folderList = new ArrayList<String>();
fetchCompleteList(filesList, folderList, path);
for(String filePath : filesList) {
File tempFile = new File(filePath);
tempFile.delete();
}
for(String filePath : folderList) {
File tempFile = new File(filePath);
tempFile.delete();
}
}
private void fetchCompleteList(List<String> filesList,
List<String> folderList, String path) {
File file = new File(path);
File[] listOfFile = file.listFiles();
for(File tempFile : listOfFile) {
if(tempFile.isDirectory()) {
folderList.add(tempFile.getAbsolutePath());
fetchCompleteList(filesList,
folderList, tempFile.getAbsolutePath());
} else {
filesList.add(tempFile.getAbsolutePath());
}
}
}
Este código no funciona, ¿cuál es la mejor manera de hacerlo?
¿Qué son CONTINUAR y TERMINAR? ¿Debo importarlos de alguna parte? – bikashg
@bikashg constantes de enum dentro de java.nio.file.FileVisitResult. La mayoría de los IDEs deben ser lo suficientemente inteligentes como para sugerir importar el tipo de enumeración. –
Para aquellos cuyo IDE no es lo suficientemente inteligente (como el mío), agregue esta declaración de importación al comienzo del archivo manualmente: 'import static java.nio.file.FileVisitResult. *;' – TuringTux