Estoy cargar el archivo de propiedades y obtener el valor de ese archivo pero cuando lo uso «Propiedades» clase y getProperty(clave) método, era volver null valor.

código:

public class LoadPropertiesFile {

public static String getProperty (String key, String filePath) {
    Properties properties = new Properties();
    InputStream inputStream = null;
    String value = null;
    try {
        String appHome = ConfigUtil.getApplicationHome() + filePath; 
        inputStream = new FileInputStream(appHome);

        //load a properties file
        properties.load(inputStream);

        //get the property value 
        System.out.println(properties.getProperty("7"));   //print **Unlock**
        System.err.println(key);   //print **7**
        System.out.println(value);   //print **null**
        value = properties.getProperty(key);

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch(IOException e) {
                e.printStackTrace();
            }
        }
    }
    return value;
}
}

De salida:

Unlock
7 
null

Propiedad De Archivo:

2=Interactive
3=Network
4=Batch
5=Service
7=Unlock
8=Network Cleartext
10=Remote Desktop
11=Logon with cached credentials

método de llamada:

logonType = new LoadPropertiesFile().getProperty("7", "path");

Cuando yo llame a ese método devolverá null valor único. por favor me ayudan chicos.

  • ¿Qué se puede esperar int i; System.out.println(i); i = 5; imprimir? (No lo intente; supongo)
  • Creo que quería decir *para imprimir 5, no sólo para imprimir 😉
  • es una pregunta. «¿Qué se puede esperar <code> a hacer?»
  • ¿Editarlo? O_o te juro que no había «Qué» antes… 😉

2 Comentarios

  1. 3

    Que se initalizing valor null.

    String value = null;

    Y se le asigna después de impresión:

    System.out.println(value);
    value = properties.getProperty(key);

    De salida: null

    Lo único valor puede ser un valor nulo a la hora de imprimirlo, ya que nunca cambie su valor hasta System.out.println(value);.
    Solo tienes que cambiar los dos afirmaciones:

    value = properties.getProperty(key);
    System.out.println(value);

    De salida: unlock

    Editar

    propiedades.getProperty(clave) puede devolver null demasiado, pero sólo si no hay ninguna clave en su mesa, en caso contrario se devolverá el valor asignado, en su ejemplo,unlock.

    Consulte la Documentación de la API en esto para más detalles:

    Cadena pública getProperty(String clave)

    Busca la propiedad con la clave especificada en esta lista de propiedades. Si la clave no se encuentra en
    esta lista de propiedad, la propiedad predeterminada de la lista, y sus valores por defecto,
    de forma recursiva, entonces son controlados. El método devuelve null si la propiedad
    no se encuentra.

    http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#getProperty(java.lang.Cadena)

  2. 1
    System.out.println(value);   //print **null**
    value = properties.getProperty(key);

    Interruptor de estas dos líneas y inicializar value antes de impresión:

    value = properties.getProperty(key);
    System.out.println(value);   //print Unlock
    • será este método retorna null?
    • propiedades.getProperty(clave) devuelve null si no hay ninguna clave, pero en ese caso se devolverá «desbloquear».
    • Va a devolver null si(y sólo si) la clave no existe.
    • cuál es su respuesta, dice.
    • como por el método de salida no debe devolver un valor null.
    • Yo no soy de conseguir el punto. Puedes ser un poco más claro?
    • value = properties.getProperty(key); para inicializar el valor y el valor devuelto nunca será nulo. Lo OP de la última línea dice : Cuando yo llamo a esto el método devolverá el valor null sólo
    • Estás seguro? ¿Qué sucederá si la clave no existe? value será null.
    • Mira lo que tecla se pasa como argumento y lo que es la producción.
    • Por favor, mirar el código. System.out.println(value); es antes de value se inicializa, por lo que se va a imprimir null. Es lo que mi respuesta de los estados, y es por eso que la OP es llegar null.
    • ¿qué es la impresión? key="7" pasa. y value = properties.getProperty(key);
    • valor = propiedades.getProperty(clave); ¿ves algo mal aquí? Permítanme mostrarles algo similar en esta demo, tal vez usted consigue el punto
    • OK, pero yo estaba más preocupado acerca de la última declaración. Cuando me llame a este método devolverá el valor null solo. El método no volverá null valor, Estoy en lo cierto?
    • Realmente creo que el OP está mal. Eso no puede ocurrir con el escenario que se describe, es imposible. Si el archivo existe y tiene ese contenido, todo funcionará correctamente.

Dejar respuesta

Please enter your comment!
Please enter your name here