将属性加载到 InputStream 中

我有一个将 InputStream 作为参数的方法。该方法从 InputStream 中提取属性并返回“版本”属性。此属性保存应用程序的版本。


public String getVersion(InputStream inputStream) throws IOException {

    Properties properties = new Properties();

    properties.load(inputStream);

    String version = properties.getProperty("version");

    return version;

}

出于测试目的,我想创建一个 Properties 对象,设置一些属性,然后将这些属性加载到 InputStream 中。最后,InputStream 将传递给被测方法。


@Test

public void testGetAppVersion() {

    InputStream inputStream = null;

    Properties prop = new Properties();

    prop.setProperty("version", "1.0.0.test");


    // Load properties into InputStream

}

我该怎么办?


holdtom
浏览 158回答 1
1回答

有只小跳蛙

您可以使用该store方法将属性写入流。下面是一个使用字节数组流的示例: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);但我相信以下方式更简单(来自字符串文件内容的输入流):InputStream is =     new ByteArrayInputStream("version=1.0.0.test\n".getBytes());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java