Solve the problem of Chinese reading garbled characters in .properties files (idea Java)

1. The Chinese reading garbled problem that easily occurs when reading .properties files

1. The original code does not add rules for reading .properties files.

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 running screenshot:
Insert image description here

2. Add .properties reading rules

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 screenshot:
Insert image description here
So far the problem has been solved!

Guess you like

Origin blog.csdn.net/Coastlise/article/details/130949505