gpt4 book ai didi

Java:如何访问我的属性文件?

转载 作者:行者123 更新时间:2023-12-01 18:10:45 24 4
gpt4 key购买 nike

所以我的项目中有一个属性文件。我需要访问它。

这是树结构:

+ Project Name
|--+ folder1
|--+ propertyfolder
|--+ file.properties

或者:项目/propertyfolder/file.properties

这是我到目前为止所尝试过的(一次一个,而不是一次):

// error: java.io.File.<init>(Unknown Source)
File file = new File(System.getProperty("file.properties"));
File file = new File(System.getProperty("propertyfolder/file.properties"));
File file = new File(System.getProperty("propertyfolder\\file.properties"));
File file = new File(System.getProperty("../../propertyfolder/file.properties"));

还有:

InputStream inputStream = getClass().getResourceAsStream("file.properties");
InputStream inputStream = getClass().getResourceAsStream("../../propertyfolder/file.properties");
InputStream inputStream = getClass().getResourceAsStream("propertyfolder/file.properties");
InputStream inputStream = getClass().getResourceAsStream("propertyfolder\\file.properties");

以及 getClass() 中的所有变体,例如 getClass().getClassLoader() 等。

我收到的错误是NullReferenceException。它没有找到该文件。如何正确找到它?

最佳答案

(根据OP建议从评论中获取答案)

只需使用File file = new File("propertyfolder/file.properties"),但您确实需要知道java进程工作目录在哪里,如果您无法控制它,请尝试绝对路径/c:/myapp/propertyfolder/file.properties

您还可以使用不带 C: 盘符的 /myapp/propertyfolder/file.properties 路径,以避免仅限 Windows 的映射。您可以在 Win、Linux、MacOSX 上运行的 Java 应用程序中使用/路径分隔符。注意文本文件编码,使用InputStreamReader 给出编码参数。

File file = new File("propertyfolder/file.properties");
InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader reader = new BufferedReader(isr);
..read...
reader.close(); // this will close underlaying fileinputstream

关于Java:如何访问我的属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174051/

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