[ubuntu-ar] offtopic a medias: java para windows y linux
Pablo Lillia
pablofer72 at yahoo.com.ar
Thu Sep 11 01:03:56 BST 2008
El 10/09/2008 09:32, Gabriel Ferro escribió:
> Maestros, los molesto porque no se a quien acudir, si bien es un
> problema de java, la necesidad es por tener que usar linux y windows. La
> cosa es que hice una aplicacion java con netbeans bajo windows, ahora
> quiero ejecutarla en linux, la cosa es que quiero hacer algo asi como un
> "configuracion.ini" donde pueda setear algunos parametros como:
> SALTOLINEA="\n";
> BARRADIR="\\";
> CAMINO_IN="c:"+BARRADIR+"prueba";
> CAMINO_OUT="c:"+BARRADIR+"prueba"+BARRADIR+"salida";
> CAMINO_BACKUP="c:"+BARRADIR+"prueba"+BARRADIR+"procesados";
>
> para despues usarlos como constantes en java , como se puede hacer esto?
> como leer el archivo sin tratarlo solo como un simple archivo de texto y
> como una vez extraida la variable usarla como constante en todos los .java.
>
> Saludos.
>
Te recomiendo la lista DesarrolloJava en gruposyahoo.com.ar que es
específica de java.
Pero ya que estamos :), dado que Java está fuertemente inspirado por
Unix, por defecto usa la notación Unix ;). Entonces, si especificás los
paths en dicha notación, es mucho más simple (la conversión se hace
sola) y tenés portabilidad inmediata (iupi!) Por ejemplo, el path
//C://windows/ se transforma solo en C:\windows\. Te adjunto una clase
de ejemplo.
Si de todas formas tenés que escribir un path de windows, como el
caracter \ es el símbolo de escape para las cadenas, tenés que cambiar
los \ por \\
Entonces, algunos de los caracteres de escape en cadenas son:
\n -> salto de linea
\t -> salto de tab
\\ -> caracter \
Por eso, si en un archivo properties (o ini), o en cualquier string
constante dentro del fuente, hay que reemplazar las \ por \\.
Igualmente, por si fuera necesario, hay variables del sistema que se
configuran solas según el entorno, y que devuelven los separadores de
path, de directorio, del salto de linea, etc. Por ejemplo, fijate en la
clase java.io.File los atributos separatorChar, separator,
pathSeparatorChar y pathSeparator. También se obtienen las propiedades
del sistema de la forma System.getProperty("line.separator") (revisá la
API para ver otras similares).
Y desde java 5 es más fácil y por el mismo precio :D, porque usando las
nuevas clases y métodos como java.util.Formatter, o con String.format(),
o con PrintWriter.format(), podés formatear cadenas fácilmente con un
estilo similar al printf de C (por fin). Con esta sintaxis, un %n se
transforma en el salto de linea que corresponda, o se un \n en unix, o
una combinación \r\n en windows. En la última linea de la clase que
adjunto, incluí un ejemplo de esto.
Entonces, tu archivo properties, en windows quedaría con esto solo:
CAMINO_IN=//c:/prueba
CAMINO_OUT=//c:/prueba/salida
CAMINO_BACKUP=//c:/prueba/procesados
y en linux con algo así:
CAMINO_IN=/data/prueba
CAMINO_OUT=/data/prueba/salida
CAMINO_BACKUP=/data/prueba/procesados
Saludos,
Pablo
------------ próxima parte ------------
Se ha borrado un mensaje que no est? en formato texto plano...
Nombre : TestPath.java
Tipo : text/x-java
Tama?o : 448 bytes
Descripci?n: no disponible
Url : https://lists.ubuntu.com/archives/ubuntu-ar/attachments/20080910/c249ef3c/attachment-0001.java
More information about the Ubuntu-ar
mailing list