Hoy un artículo sencillo pero de mucha utilidad. Como bien sabéis, dependiendo del sistema operativo que estemos utilizando en Java, las rutas de los ficheros (llamados path) se crean de diferente forma. Veamos como podemos crear la ruta de un fichero con Java.
Así cuando vayamos a crear la ruta de un fichero con Java para un sistema operativo Windows pondremos:
c:\midirectorio\mifichero.txt
Mientras que si estamos en un sistema Linux utilizaremos:
/midirectorio/mifichero.txt
Es por ello que tenemos que tener especial cuidado en construir la ruta del fichero en nuestro programa Java. Para poder resolver esto tenemos varias alternativas. La primera sería chequeando las propiedades del sistema «os.name» y «file.separator» con .getProperty().
String so = System.getProperty("os.name");
String separador = System.getProperty("file.separator");
En el caso de «os.name» obtenemos el nombre del sistema operativo y en el caso de «file.separator» obtenemos el separador de directorios. Así, montar nuestra ruta de un fichero sería:
sPath = separador + sDirectorio + separador + sFichero;
System.out.println(sPath);
Pero, si no queremos consultar las propiedades del sistema, tenemos la constante File.separator. La cual tiene almacenado el separador de directorios del sistema operativo sobre el que nos ejecutemos. De esta forma construir la ruta de un fichero se haría de la siguiente manera:
String sPath = File.separator + sDirectorio + File.separator + sFichero;
System.out.println(sPath);
Hay que tener un poco de cuidado con la versión de Java que utilices, ya que File.separator solo está disponible desde Java 5.
¿Cual de las dos formas para crear la ruta de un fichero con Java utilizarías? ¿Conoces alguna forma de crear la ruta de un fichero con Java más?