Foros del Web » Programación para mayores de 30 ;) » Java »

No borra el directorio.

Estas en el tema de No borra el directorio. en el foro de Java en Foros del Web. Compañeros, estoy bajando via ftp unos archivos, esos archivos los descargo a una carpeta X que estan en el directorio personal del usuario (para que ...
  #1 (permalink)  
Antiguo 01/10/2009, 07:02
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
No borra el directorio.

Compañeros, estoy bajando via ftp unos archivos, esos archivos los descargo a una carpeta X que estan en el directorio personal del usuario (para que no haya problema en diferentes pcs y/o SO)

el problema es que la carpeta X debe seguir un estandar blablablabla.

cada que voy a bajar los archivo, si existe la carpeta, debo borrarla, y luego crearla, y pues... emm jejeje, si no existe pues... no la borro XD.

en Linux (Ubuntu) me funciona perfectamente, me borra la carpeta y vuelve a crearla (si ya existe, si no existe pues solo me la crea XD)

pero en ... windos... no funciona... no borra la carpeta, si la crea pero no la borra.

el codigo es este:

Código java:
Ver original
  1. //ruta completa de la carpeta:
  2. File destino = new File(homeUsuario+tipo+nombre+fecha);
  3. //si existe la borro
  4. if(destino.exists()){
  5.     destino.delete();
  6. }
  7. //luego creo la carpeta
  8. destino.mkdirs();


probe con mkdirs() y con mkdir() y funciona igual (dado que es solo una carpeta, pero lo hago con mkdirs() por si las moscas XD)


saludos.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 01/10/2009, 08:26
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: No borra el directorio.

Igual que tienes el mkdirs() para crear la carpeta, existe en windows XP un comando para borrar esos directorios => http://malektips.com/xp_dos_0013.html.

Al igual es que el comando que funciona para linux no es el mismo que para windows y por eso te funciona en uno sí y en otro no.
  #3 (permalink)  
Antiguo 01/10/2009, 08:40
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: No borra el directorio.

no compañero, anteriormente, hacia aplicaciones solo para windows, y eso me funciona, por que java es multiplataforma, ahora, algo tengo mal que no me sirve en windos.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 01/10/2009, 09:50
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: No borra el directorio.

Pues entonces con eso que has puesto sólo es posible que no llegue para que los usuarios de este foro puedan identificar donde está el fallo.
  #5 (permalink)  
Antiguo 01/10/2009, 09:54
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: No borra el directorio.

claro, con eso no mas, por que ese es el codigo necesario para borrar un archivo (si existe) y luego crearlo.
sera que si esa maquina esta en un directorio activo de windows no permitira eso?
borrarlo, por que si lo crea.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #6 (permalink)  
Antiguo 01/10/2009, 10:34
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: No borra el directorio.

También puede ser que el path que le estás pasando con destino no lo esté recogiendo bien, o tenga un formato que no sepa interpretar.

Usa esto para controlar que es lo que está haciendo o dejando de hacer

import java.io.*;

public class BorrarDirectorio
{
public static void main( String [] args ) throws IOException
{
File f = new File("c:/myDirectorio");

if(f.exists()){
if(f.delete())
System.out.println("Borrado con exito :)");
else
System.out.println("Se ocaciono un error al borrar el directorio :(");
}else{
System.out.println("El directorio no existe :(");
}
}
}

Última edición por Fuzzylog; 01/10/2009 a las 10:47 Razón: .añadir +datos
  #7 (permalink)  
Antiguo 01/10/2009, 12:18
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: No borra el directorio.

si, cree un metodo, que si no lo borra (asi como pusiste) entonces que aunque sea me borre los archivos que estan dentro :P
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:14.