用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"));

	}
}

猜你喜欢

转载自blog.csdn.net/qq_34310242/article/details/79895478