用spring的包读取properties文件避免中文乱码

在项目中有时候需要读取properties文件,但是读取出来的中文可能是乱码的,那么我们就需要将读取出来的内容进行编码。这里将使用spring的包来解决这个问题。代码如下:

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.springframework.core.io.InputStreamResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.core.io.support.PropertiesLoaderUtils;

public class Test {

	public static void main (String[] args) throws IOException {
		read();
		readByUTF8();
	}

	private static void read () throws IOException {
		Properties properties = new Properties();
		InputStream is = Test.class.getResourceAsStream("/test.properties");
		properties.load(is);
		System.out.println(properties.get("com.zsq.cn"));
	}

	/**
	 * 用spring的包读取properties文件避免中文乱码
	 */
	private static void readByUTF8(){
		Properties properties = new Properties();
		InputStream is = Test.class.getResourceAsStream("/test.properties");
		Resource[] resources = new Resource[]{new InputStreamResource(is)};
		try {
			for (Resource resource : resources) {
				PropertiesLoaderUtils.fillProperties(properties, new EncodedResource(resource, "UTF-8"));
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println(properties.get("com.zsq.cn"));

	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值