La clase System utiliza un objeto de tipo Properties para
tener la información relacionada con el entorno de trabajo actual. Esta
información incluye el separador de las rutas de los directorios,  el directorio de trabajo del usuario, la
versión de Java, etc.
Estas propiedades pueden ser leídas y escritas, mediante
métodos get y set. Por ejemplo para obtener el nombre del sistema operativo,
tendríamos que pasarle al método get, la cadena “os.name”, de esta forma:
System.getProperty(“os.name”);
La siguiente tabla muestra las posibles claves y su
significado:
| 
Clave | 
Significado | 
| 
"file.separator" | 
Carácter
  separador de las rutas de los ficheros. Por ejemplo "/" en Linux y "\" en Windows. | 
| 
"java.class.path" | 
Ruta usada
  para buscar clases compiladas .class o paquetes .jar.  | 
| 
"java.home" | 
Directorio
  de instalación del Java Runtime
  Environment (JRE) | 
| 
"java.vendor" | 
Nombre del
  distribuidor del JRE | 
| 
"java.vendor.url" | 
URL del
  distribuidor del JRE | 
| 
"java.version" | 
Número de
  versión del JRE | 
| 
"line.separator" | 
Secuencia de
  caracteres usada por el SO como separador de líneas de los ficheros de texto | 
| 
"os.arch" | 
Arquitectura
  del sistema operativo | 
| 
"os.name" | 
Nombre del
  sistema operativo | 
| 
"os.version" | 
Versión
  del sistema operativo | 
| 
"path.separator" | 
Carácter utilizado
  para separar las rutas en java.class.path | 
| 
"user.dir" | 
Directorio
  de trabajo del usuario | 
| 
"user.home" | 
Directorio
  home del usuario | 
| 
"user.name" | 
Nombre de
  la cuenta de usuario | 
Algunos de estos valores también se pueden obtener mediante
File. El separador de rutas se puede obtener con File.pathSeparator (devuelve
un String) o File.pathSeparatorChar (devuelve un char). El separador de
ficheros se obtiene con File.separator (devuelve String) y con
File.separatorChar (devuelve char).
Estas propiedades nos ayudarán a que el código desarrollado
pueda ser multiplataforma, aunque no siempre es fácil, ya que por ejemplo no
todos los sistemas operativos utilizan el mismo nombre para el escritorio: en
unos casos es “Desktop” en otros “Escritorio”. Algo como:
String
ruta=
System.getProperty("user.home")+File.separator+"Desktop"+File.separator+”fichero.txt”
no siempre sería válido. Habría que verificarlo y mediante
comprobaciones del nombre del sistema operativo, determinar con condiciones la
ruta.
 
No hay comentarios:
Publicar un comentario