gpt4 book ai didi

java - 读取 Java 属性文件而不转义值

转载 作者:IT老高 更新时间:2023-10-28 20:57:40 25 4
gpt4 key购买 nike

我的应用程序需要使用 .properties 文件进行配置。在属性文件中,允许用户指定路径。

问题

属性文件需要转义值,例如

dir = c:\\mydir

需要

我需要某种方式来接受不转义值的属性文件,以便用户可以指定:

dir = c:\mydir

最佳答案

为什么不简单地扩展属性类来合并双斜杠的剥离。这样做的一个很好的特点是,通过你的程序的其余部分,你仍然可以使用原来的 Properties 类。

public class PropertiesEx extends Properties {
public void load(FileInputStream fis) throws IOException {
Scanner in = new Scanner(fis);
ByteArrayOutputStream out = new ByteArrayOutputStream();

while(in.hasNext()) {
out.write(in.nextLine().replace("\\","\\\\").getBytes());
out.write("\n".getBytes());
}

InputStream is = new ByteArrayInputStream(out.toByteArray());
super.load(is);
}
}

使用新类很简单:

PropertiesEx p = new PropertiesEx();
p.load(new FileInputStream("C:\\temp\\demo.properties"));
p.list(System.out);

剥离代码也可以改进,但一般原则是存在的。

关于java - 读取 Java 属性文件而不转义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6233532/

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