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

FileOutputStream diferencia Linux Windows

Estas en el tema de FileOutputStream diferencia Linux Windows en el foro de Java en Foros del Web. Buenas... Me he quedado sorprendido con lo que me ha pasado con la clase FileOutputStream del system.io, se comporta de modo diferente en linux que ...
  #1 (permalink)  
Antiguo 22/02/2006, 05:13
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 20 años, 8 meses
Puntos: 0
FileOutputStream diferencia Linux Windows

Buenas...

Me he quedado sorprendido con lo que me ha pasado con la clase FileOutputStream del system.io, se comporta de modo diferente en linux que en windows, siempre he pensado que la famosa portabilidad de código java consistía precisamente en que estas cosas no pasasen.

Si hago FileOutputStream f = new FileOutputStream ("/FicheroX.xxx", true);
En linux: Si el fichero no existe me tira una java.io.FileNotFoundException: /FicheroX.xxx (No such file or directory)
Como le he pado true para append y el fichero no existe pues peta.
En windows: Si el fichero no existe lo crea

¿Nunca le ha pasado esto a andie? estoy buscando en posts de un montón de foros y no veo que ha nadie le haya ocurrido...
  #2 (permalink)  
Antiguo 22/02/2006, 05:52
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 20 años, 8 meses
Puntos: 0
Nada, olvidadlo, error mio, no me di cuenta de que en linux se distingue entre mayúsculas y minúsculas y puse el path con la primera en mayúsculas cuando en realidad existía con la primera en minúsculas, FileOutputStream funciona perfectamente.
  #3 (permalink)  
Antiguo 22/02/2006, 09:14
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Jejeje, eso nos pasa a todos a veces.

Hay que tener en cuenta que la portabilidad de Java puede llegar hasta donde le deja el sistema operativo, pero no más alla. Por ejemplo, si tu escribes los path de fichero con la barra "/", nadie te asegura que eso funcione en todos los S.O., así que aunque uses File, que es portable, es responsabilidad tuya escribir el path de forma que el S.O. por debajo lo entienda (usando la propiedad "file.separator", por ejemplo).

Magia no puede hacer
PD: No lo digo por ti, ofl666, si no por gente que a veces se queja de que Java no es portable, bla, bla, cuando lo que estan haciendo es pedir peras al olmo
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 12:15.