Propiedades de la carga en un InputStream

Nvig8tr:

Tengo un método que toma un InputStream como un parámetro. Los extractos método Propiedades desde el InputStream y vuelve la propiedad "versión". Esta propiedad se mantiene la versión de la aplicación.

public String getVersion(InputStream inputStream) throws IOException {
    Properties properties = new Properties();
    properties.load(inputStream);
    String version = properties.getProperty("version");
    return version;
}

Para propósitos de prueba, me gustaría crear un objeto Properties, establecer algunas propiedades y, a continuación, cargar las propiedades en un InputStream. Por último, el InputStream se pasa al método que se está probando.

@Test
public void testGetAppVersion() {
    InputStream inputStream = null;
    Properties prop = new Properties();
    prop.setProperty("version", "1.0.0.test");

    // Load properties into InputStream
}

¿Cómo iba a hacerlo?

ernest_k:

Se puede utilizar el storemétodo para escribir las propiedades a un arroyo.

Aquí hay un ejemplo que array de bytes usos corrientes:

Properties prop = new Properties();
prop.put("version", "1.0.0.test");

ByteArrayOutputStream os = new ByteArrayOutputStream();
props.store(os, "comments");

InputStream s = new ByteArrayInputStream(os.toByteArray());

String version = getVersion(s);

Pero creo que la siguiente manera es más sencillo (flujo de entrada de la cadena de contenido de archivos ):

InputStream is = 
    new ByteArrayInputStream("version=1.0.0.test\n".getBytes());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=178966&siteId=1
Recomendado
Clasificación