java如何添加一个属性文件

java如何添加一个属性文件

作者:William Gu发布时间:2026-02-14阅读时长:0 分钟阅读次数:2

用户关注问题

Q
在Java项目中如何加载属性文件?

我想在Java程序中使用外部属性文件来配置参数,该如何正确加载并读取这些属性文件内容?

A

使用Properties类加载属性文件

可以使用Java内置的Properties类来加载属性文件。首先,通过InputStream读取属性文件,然后调用Properties.load()方法加载内容。示例代码:

Properties prop = new Properties();
try (InputStream input = new FileInputStream("config.properties")) {
prop.load(input);
} catch (IOException e) {
e.printStackTrace();
}

这样就可以通过prop.getProperty("key")来获取相应的属性值。

Q
属性文件应该放在哪里以便Java代码访问?

我在项目中添加了一个属性文件,不确定放在哪个目录下才能让Java程序顺利读取,哪种做法更合适?

A

将属性文件放在类路径下便于读取

将属性文件放到src/main/resources或类路径下是常见做法。这样可以通过类加载器获得输入流,方便读取。例如:

InputStream input = getClass().getClassLoader().getResourceAsStream("config.properties");

把属性文件放在类路径内部,打包后依然能被访问,不需要使用绝对路径,便于项目管理和部署。

Q
Java读取属性文件时遇到中文乱码怎么办?

属性文件中包含中文内容,但读取后显示乱码,有何方法保证中文正确读取?

A

使用InputStreamReader指定编码读取

Java默认以ISO-8859-1编码读取properties文件,中文会产生乱码。解决方法是使用InputStreamReader指定UTF-8编码,如下:

try (InputStreamReader reader = new InputStreamReader(new FileInputStream("config.properties"), "UTF-8")) {
Properties prop = new Properties();
prop.load(reader);
}

也可以将中文内容转成Unicode编码格式存储,避免乱码。