gpt4 book ai didi

java - 将属性加载到 InputStream 中

转载 作者:搜寻专家 更新时间:2023-10-31 19:43:00 24 4
gpt4 key购买 nike

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

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
}

我该怎么做?

最佳答案

您可以使用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());

关于java - 将属性加载到 InputStream 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51954525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com