F.4411.316.013 - POEJ/MIXTO/F.
Generation/
Curso JAVA (Online-Nacional) 3ªEd.
Java Bootcamp
Eduardo Corral Muñoz
eoi_eduardo@[Link]
Clase System
Índice
_01 La clase System
_02 Propiedades del sistema
_03 Propiedades del entorno
_04 Otros métodos
_05 Ejecutar aplicaciones del SO
01
La clase System
La clase System
La clase System contiene diversos propiedades y métodos que
nos permiten conocer las configuraciones del sistema, manejar
entradas/salidas, …
En el API de Java podemos encontrar todos sus métodos y
propiedades.
No podemos crear objetos de la clase System (new),
No podemos crear clases extendidas a partir de ella
Todos sus métodos son estáticos y se llaman directamente como
[Link]
02
Propiedades del sistema
La clase System
Obtenemos propiedades una a una con .getProperty()
String usuario = [Link](“[Link]”);
String carpeta = [Link](“[Link]”);
String java = [Link](“[Link]”);
Obtenemos todas las propiedades con .getProperties()
Properties prop = [Link]();
[Link]([Link]);
La clase System
Podemos definir nuevas propiedades directamente en el código.
[Link]().list([Link]);
Properties prop = new Properties([Link]());
[Link](“[Link]”,”valor correspondiente”);
[Link](prop);
[Link]().list([Link]);
La clase System
También podemos hacerlo desde un archivo de configuración
([Link]) con las variables personalizadas que nos interesen
y posteriormente cargarlo.
[Link]=8080
[Link]=25
[Link]=miservidor
…
// Leemos el archivo
FileInputStream archivo = new FileInputStream(“src/[Link]”);
[Link](archivo);
[Link](prop);
[Link]().list([Link]);
[Link]([Link](“[Link]”));
03
Propiedades de entorno
Variables de entorno
Todos los sistemas operativos almacenan datos del entrono de
trabajo y su configuración (rutas de acceso a programas, path, …
y muchas otras)
Podemos obtenerlas mediante el método .getenv(), que devuelve
un objeto de tipo mapa (Map), algo parecido a una matriz
asociativa (clave, valor). Esta estructura se conoce también como
diccionario.
Map<String, String> varEnv = [Link]();
[Link](“Variables de entrono: “ + varEnv);
Podemos acceder a una variable concreta:
String usuario = [Link](“USERNAME”);
String javaHome = [Link](“JAVA_HOME”);
Variables de entorno
Podemos también recorrer el mapa
for(String clave:[Link]()){
[Link](clave + “ = “ + [Link](clave);
}
04
Otros métodos
Manejo de errores
En try…catch podemos mostrar los errores en color rojo
…}catch(Exception e){
[Link](“no encuentro el archivo: “ + [Link]);
[Link](“no encuentro el archivo: “ + [Link]);
[Link](1);
}
Liberar memoria
Podemos eliminar todas las instancias que no se están usando para
liberar memoria. Java tiene un recolector de basura (Garbage
collector) pero también se ejecuta de forma automática.
[Link]();
05
Ejecutar aplicaciones
del sistema operativo
Ejecutar aplicación del SO
Runtime rt = [Link]();
Process proceso;
try{
if([Link](“[Link]”.contains(“windows”)){//Mac//Nix
proceso = [Link](“notepad”);
}else{ //linux
proceso = [Link](“getid”); // mac -> [Link](“textedit”);
}
[Link]();
}catch(Exception e){
[Link](“Comando desconocido: “ + [Link]());}
[Link](1);
}
[Link](“Editor cerrado”);
[Link](0);