Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Malditero en 3 Octubre 2017, 00:38 am



Título: Borrar carpetas JAVA
Publicado por: Malditero en 3 Octubre 2017, 00:38 am
Buenas Tardes a todos, en esta ocasion quiero pedirles ayuda con un codigo que estoy desarrollando, el problema es el siguiente: digamos que quiero borrar la popular carpeta %temp% con el siguiente codigo (Metodo):
 private static void EliminarCarpeta1(File pArchivo) {
    if (!pArchivo.exists()) { return; }

    if (pArchivo.isDirectory()) {
        for (File f : pArchivo.listFiles()) {
            EliminarCarpeta1(f);  }
    }
    pArchivo.delete();

luego en la declaracion:
EliminarCarpeta1(new File("C:\Users\USUARIO\AppData\Local\Temp"));

entonces el problema es para generalizar el programa para todos los dispositivos.. que tendria que poner en "USUARIO" (el nombre de nuestra pc) para que no haya errores a la hora de que el programa encuentre la carpeta?  :xD Gracias a todos.


Título: Re: Borrar carpetas JAVA
Publicado por: Ancasu en 3 Octubre 2017, 21:29 pm
Hola en Java están los métodos exec para ejecutar comandos. Para lo que tú llamas cómo generalizar se me ocurre que tu programa pregunte antes de lanzar un comando, en que sistema operativo está? Si windows Linux mac. Te dejo un hilo de un foro que me sirvió mucho en su momento:

https://foro.hackxcrack.net/java/ping-con-java/


Título: Re: Borrar carpetas JAVA
Publicado por: Malditero en 3 Octubre 2017, 21:33 pm
con generalizar me refiero a que si paso el programa a otra computadora lo ejecute sin problemas, es decir, que el codigo sea universal. Pero ya encontre la solución, lo unico que hay que hacer es escribir "%Username%" en lugar de el nombre de usuario de la pc, lo dejo por aqui por si alguien lo necesita:

cd C:\Users\%username%\AppData\Local
rmdir /S /Q Temp

es un bat.