解决.properties文件中文读取乱码问题(idea Java)
一、 对于.properties文件的读取容易出现的中文读取乱码问题
1、原始代码 未加读取.properties文件的规则
public class CityCodeUtils {
private static Properties properties = new Properties();
public static String DEFAULT_CODE = "101010100";
private CityCodeUtils() {
}
static {
ClassLoader classLoader = CityCodeUtils.class.getClassLoader();
InputStream is = classLoader.getResourceAsStream("文件名.properties");
try {
properties.load(is);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static String getCityCode(String cityName) {
String code = properties.getProperty(cityName, "101010100");
return code;
}
}
debug运行截图:
2、加入.properties读取规则
public class CityCodeUtils {
private static Properties properties = new Properties();
public static String DEFAULT_CODE = "101010100";
private CityCodeUtils() {
}
static {
ClassLoader classLoader = CityCodeUtils.class.getClassLoader();
InputStream is = classLoader.getResourceAsStream("文件名.properties");
try {
//解决读取properties文件时的中文乱码问题
//给中文读取设置为utf-8编码规则 若不加BufferedReader 设置的编码规则
//则很有可能在读取文件名.properties 时出现乱码
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is,"utf-8"));
properties.load(bufferedReader);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
debug截图:
至此 问题已解决!