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

Metodo renameTo de File funciona aleatoriamente

Estas en el tema de Metodo renameTo de File funciona aleatoriamente en el foro de Java en Foros del Web. Hola, estoy realizando una aplicacion web en java y tengo un problema al renombrar una carpeta. Uso el metodo de la clase File de Java, ...
  #1 (permalink)  
Antiguo 10/04/2007, 02:26
 
Fecha de Ingreso: octubre-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Metodo renameTo de File funciona aleatoriamente

Hola, estoy realizando una aplicacion web en java y tengo un problema al renombrar una carpeta.
Uso el metodo de la clase File de Java, fileOrigen.renameTo(fileDestino), pero resulta que a veces renombra la carpeta y otras veces no.

¿Alguien sabe por que pasa esto?
¿Se puede solucionar?

Como podran saber, ese funcionamiento aleatorio no lo puedo consentir.

Un saludo!
  #2 (permalink)  
Antiguo 10/04/2007, 03:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Re: Metodo renameTo de File funciona aleatoriamente

¿El servidor es Windows, por casualidad?
  #3 (permalink)  
Antiguo 10/04/2007, 03:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Metodo renameTo de File funciona aleatoriamente

Hola,
Si es Windows...¿no me jodas que es por culpa de windows???

Jo!, uno ya esta harto de la mierda de windows

Contesta por favor!!

saludos!
  #4 (permalink)  
Antiguo 10/04/2007, 05:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Re: Metodo renameTo de File funciona aleatoriamente

El problema de Windows es que tiene unos politica de permisos de borrado bastante "curiosa" por lo que no te deja borrar/renombrar ficheros a veces por razones insospechadas.
Si algun programa como el Explorador de Windows tiene abierto ese directorio, el directorio tiene algun fichero "capturado" por un proceso (como un antivirus etc.) entonces muchas veces no se puede borrar/renombrar el fichero/directorio. No es cosa de Java unicamente, muchas veces ni borrarlo a mano te deja...

Lo normal es intentar controlar que no haya nada abierto contra ese fichero/directorio, lo cual a veces es complicado, y de todas formas usar el booleano que te devuelven los metodos renameTo y delete para saber si el S.O. borro/renombro el fichero o no. Y en caso de que fallara... pues eso, informar del error, volver a probar un numero de veces... lamentablemente no hay solución mágica que borre/renombre siempre el fichero. Si otro programa lo tiene abierto en modo exclusivo no hay nada que hacer, por ejemplo.

Suerte!
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 13:52.