Archivo de propiedades en Java

Rupam Yadav 12 octubre 2023
  1. Crear y establecer valores en el archivo de propiedades de Java
  2. Obtener una propiedad del archivo de propiedades de Java
  3. Obtenga todas las claves y valores del archivo de propiedades de Java
Archivo de propiedades en Java

Las propiedades en Java son valores de configuración que necesitamos usar en aplicaciones Java.

Un archivo de propiedades es un archivo que contiene estos valores en pares clave-valor. Este tipo de archivo suele tener una extensión .properties.

Crear y establecer valores en el archivo de propiedades de Java

En la primera sección de este tutorial, escribimos un programa que crea un archivo de propiedades y luego establece las propiedades como pares clave-valor.

Java nos proporciona una clase Properties del paquete java.util que contiene varios métodos para realizar operaciones como establecer o eliminar propiedades, enumerar todas las propiedades, etc.

Antes de proceder a establecer las propiedades, necesitamos obtener las propiedades del archivo del directorio donde se encuentra, y si no existe, creamos un nuevo archivo. Creamos un objeto de FileOutputStream() y pasamos la ruta del archivo de propiedades en su constructor que devuelve una instancia de OutputStream.

Creamos un objeto Properties usando new Properties() y llamamos al método setProperty() para establecer los valores de propiedad en el archivo. El método setProperty() toma dos argumentos, el primero es la clave y el segundo es el valor.

En el ejemplo, establecemos tres propiedades y finalmente almacenamos las propiedades en el archivo que llamamos el método store() para pasar el outputStream y un comentario opcional como argumentos. Se debe crear el archivo de propiedades y tener las propiedades insertadas en él.

import java.io.*;
import java.util.Properties;

public class JavaExample {
  public static void main(String[] args) {
    try {
      OutputStream outputStream = new FileOutputStream("myConfigs.properties");

      Properties properties = new Properties();

      properties.setProperty("version", "1.1");
      properties.setProperty("projectName", "PropertiesFileExample");
      properties.setProperty("date", "2021/12/27");
      properties.store(outputStream, "Properties are stored here");

      System.out.println(properties);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Producción :

{date=2021/12/27, projectName=PropertiesFileExample, version=1.1}

Archivo myConfigs.properties:

#Properties are stored here
#Mon Dec 27 16 : 52 : 38 IST 2021
date = 2021 / 12 / 27 projectName = PropertiesFileExample version = 1.1

Obtener una propiedad del archivo de propiedades de Java

Esta sección proporciona una propiedad específica del archivo de propiedades utilizando la clase Propiedades y sus métodos. A diferencia del ejemplo anterior, usamos InputStream en lugar de OutputStream porque leemos el archivo en este programa.

Creamos un objeto de la clase Properties, llamamos al método load() y le pasamos el objeto InputStream como su argumento. Una vez cargado el archivo, llamamos a la función getProperty() y le pasamos la clave del valor que queremos recuperar.

Obtenemos el valor como resultado que imprimimos en la salida.

import java.io.*;
import java.util.Properties;

public class JavaExample {
  public static void main(String[] args) {
    try {
      InputStream inputStream = new FileInputStream("myConfigs.properties");

      Properties properties = new Properties();
      properties.load(inputStream);

      System.out.println(properties.getProperty("date"));

    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Producción :

2021/12/27

Obtenga todas las claves y valores del archivo de propiedades de Java

list() es una función de la clase Properties que imprime las propiedades en un flujo de salida. Leemos el archivo de propiedades en el programa, creamos un objeto Properties y cargamos el archivo usando la función load().

Para imprimir las propiedades, llamamos al método list() y pasamos System.out como argumento que es un flujo de salida que se imprime en la consola.

import java.io.*;
import java.util.Properties;

public class JavaExample {
  public static void main(String[] args) {
    try {
      InputStream inputStream = new FileInputStream("myConfigs.properties");

      Properties properties = new Properties();

      properties.load(inputStream);
      properties.list(System.out);

    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Producción :

-- listing properties --
date=2021/12/27
projectName=PropertiesFileExample
version=1.1
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn