我知道当字符串中的属性由\ n分隔时,可以将字符串中的属性加载到java.util.Properties中,如下所示。
有没有办法动态提供分隔符,例如:我们可以使用逗号(,)作为分隔符吗?
String propertiesString = "#Namal=153\nJanith=253\nSameera=135";
Properties properties = new Properties();
properties.load(new StringReader(propertiesString));
答案 0 :(得分:1)
您可以在将逗号加载到java.util.Properties之前使用换行符对其进行标记并加入它们。
下面的示例代码使用commons-lang并假设您使用的是UNIX换行符(\ n)
String propStr = "Monday=1,Tuesday=2,Wednesday=3";
String[] propsArray = StringUtils.split(propStr, ',');
Properties properties = new Properties();
properties.load(new StringReader(StringUtils.join(propsArray, "\n")));
答案 1 :(得分:1)
不,你不能这样做!而且它不值得,只需用一个字符串来做。 '\ n'是默认行分隔符,并且有一个LineReader内部类定义了行读操作的逻辑,我认为你没有机会与它进行交互。
答案 2 :(得分:0)
Properties类是一个用于加载配置的实用程序。
由于\ n是换行符,我只能假设选择它来使属性文件易于阅读。
如果您的要求是以自定义格式存储某些数据,您可以随时阅读它们并使用Scanner
或者使用具有良好架构的XML配置文件。
BTW使用新线作为分隔符有什么问题?我只能假设您要使用Properties文件来加载不同类型的文件,因为对我来说,属性类的格式在可用性和可读性方面非常有意义。