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