Borrar carpetas JAVA

Iniciado por Malditero, 3 Octubre 2017, 00:38 AM

0 Miembros y 1 Visitante están viendo este tema.

Malditero

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.

Ancasu

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/
¿Podrá la tierra soportar la población mundial?

Malditero

#2
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.