Java - Ejercicio Ficheros

   
Vista:

Ejercicio Ficheros

Publicado por Marcos (7 intervenciones) el 09/10/2017 00:12:41
Realizar un programa que lea des de teclado el texto asociado a la ruta de una carpeta existente dentro de nuestro pc. Borrar todos los elementos que hay dentro, ya sean ficheros o carpetas. Tened en cuenta que para poder eliminar una carpeta antes hay que vaciarla. Mejor solución con recursividad.

Alguien tiene una idea de como van ficheros? Por qué yo no, por favor ayudadme es urgente muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejercicio Ficheros

Publicado por Ignacio (4 intervenciones) el 10/10/2017 03:30:17
Buenas! Tenes la clase File https://docs.oracle.com/javase/7/docs/api/java/io/File.html.
Podes crear un método para borrar los archivos dentro de la carpeta y luego la carpeta misma.
Este sería el código mas o menos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
import java.io.File;
 
public class DeleteFile {
 
	public static void main(String[] args) {
 
		Scanner ingreso = new Scanner(System.in);
 
		String directorio = ingreso.next();
 
		File fDirectory = new File(directorio);
 
		borrarArchivos(fDirectory);
 
	}
 
 
	public static void borrarArchivos(File directorio) {
		for(File file: directorio.listFiles()) {
			if(file.isDirectory()) {
				borrarArchivos(file);
			}else {
				file.delete();
			}
		}
		directorio.delete();
	}
}

Con respecto al método borrarArchivos, tenemos:
listFiles() --> devuelve un arreglo con todos los archivos del directorio que le pasamos, en este caso la carpeta que queremos borrar.
isDirectory() --> Devuelve true si el File seleccionado es una carpeta, false de lo contrario.
delete() --> Borra el File.

Como ves, cuando sé que el archivo seleccionado es una carpeta, tengo que llamar a la misma función para que elimine los archivos dentro de estas carpetas, y por ultimo las carpetas mismas (recursión).
Lo del scanner es medio primitivo pero para probar anda xD.

Espero haberte podido ayudar !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar