Hola amig@s en esta ocasión les mostrare como podemos hacer uso de un archivo de propiedades en Java
Properties.java
package properties;
/**
*
* @author ElRinconPrograues
*/
public class Properties {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Propiedades p = new Propiedades();
if (p.existe("info")) {
p.getProperties("info");
System.out.println(p.toString());
} else {
p.crearConfiguracionSistema();
p.getProperties("info");
System.out.println(p.toString());
}
}
}
Propiedades.java
package properties;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;
/**
*
* @author ElRinconPrograues
*/
public class Propiedades {
private static String OS;
private static String ARCH;
private static String VERSION;
private static String USER;
private static String RUN_DIR;
private static String USER_HOME;
private Properties infoSistema;
public Propiedades() {
this.infoSistema = new Properties();
}
/**
* *
* Este metodo obtiene el contenido del archivo de propiedades
*
*/
public Properties getProperties(String name) {
InputStream entrada = null;
try {
entrada = new FileInputStream(name + ".properties");
//se crea una instancia a la clase Properties
Properties propiedades = new Properties();
//se leen el archivo .properties
propiedades.load(entrada);
//si el archivo de propiedades NO esta vacio retornan las propiedes leidas
if (!propiedades.isEmpty()) {
return propiedades;
} else {//sino retornara NULL
return null;
}
} catch (IOException ex) {
return null;
} finally {
if (entrada != null) {
try {
entrada.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
}
/**
* *
* Este metodo guarda el archivo de propiedades
*
*/
public void saveProperties(String name, Properties conf) {
OutputStream salida = null;
try {
salida = new FileOutputStream(name + ".properties");
conf.store(salida, null);
} catch (IOException io) {
System.out.println("error al guardar el archivo properies");
}
}
/**
* *
* Comprueba si el fichero existe
*
*/
public boolean existe(String name) {
File fichero = new File(name + ".properties");
return fichero.exists();
}
/**
* *
* borramos el fichero de propiedades
*
*/
public boolean borrar(String name) {
File fichero = new File(name + ".properties");
fichero.delete();
return fichero.exists();
}
/**
* *
* Obtenemos los datos de nuestro sistema
*
*/
private static void getOS() {
OS = System.getProperty("os.name");
ARCH = System.getProperty("os.arch");
VERSION = System.getProperty("os.version");
USER = System.getProperty("user.name");
RUN_DIR = System.getProperty("user.dir");
USER_HOME = System.getProperty("user.home");
}
/**
* *
* crea el archivo de propiedades
*
*/
public void crearConfiguracionSistema() {
getOS();
infoSistema.put("runDir", RUN_DIR);
infoSistema.put("user_home", USER_HOME);
infoSistema.put("user", USER);
infoSistema.put("arch", ARCH);
infoSistema.put("version", VERSION);
infoSistema.put("os", OS);
saveProperties(OS.trim(), infoSistema);
}
@Override
public String toString() {
return "Propiedades{" + "infoSistema=" + infoSistema + '}';
}
/**
* Agrega una nueva Propiedad addProperties(llave,valor)
*/
public void addProperties(String key, String value) {
infoSistema.put(key, value);
}
/**
* Elimina una Propiedad
*/
public void removeProperties(String key) {
infoSistema.remove(key);
}
/**
* remplaza el valor de una Propiedad
*/
public void replaceProperties(String key, String value) {
infoSistema.replace(key, value);
}
}
Descargar el código:
Dropbox
Mega