gpt4 book ai didi

java - 从单个文件为多个类实例加载多个属性集

转载 作者:行者123 更新时间:2023-11-30 08:37:08 26 4
gpt4 key购买 nike

我有一个类,如果其中一个属性发生变化,我需要一个不同的实例。这些更改在运行时从属性文件中读取。我希望有一个文件详细说明所有单个实例的属性:

------------
name=Milan
surface=....
------------
name=Naples
surface=....

如何在不同的 Property 类中加载每组属性(可能创建一个 Properties[])?是否有 Java 内置方法可以这样做?我是否应该手动解析它,如何在集合中找到除法字符串时随时创建一个 InputStream?

ArrayList<Properties> properties = new ArrayList<>();
if( whateverItIs.nextLine() == "----" ){
InputStream limitedInputStream = next-5-lines ;
properties.add(new Properties().load(limitedInputStream));
}

类似上面的内容。顺便说一下,是否有任何直接从文件创建类的构造方法?

编辑:任何指向正确方向的东西都可以自己寻找。

最佳答案

首先,将整个文件作为单个字符串读取。然后使用splitStringReader

String propertiesFile = FileUtils.readFileToString(file, "utf-8");
String[] propertyDivs = propertiesFile.split("----");
ArrayList<Properties> properties = new ArrayList<Properties>();

for (String propertyDiv : propertyDivs) {
properties.add(new Properties().load(new StringReader(propertyDiv)));
}

上面的例子使用apache commons-io library for file to String one-liner,因为Java没有这样的内置方法。但是,可以使用标准 Java 库轻松实现读取文件,请参阅 Whole text file to a String in Java

关于java - 从单个文件为多个类实例加载多个属性集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37432226/

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