解决Java读取properties文件中文乱码的问题

本文介绍了解决Java读取properties文件时遇到的编码问题,通过将默认的ISO8859-1编码转换为所需的UTF-8编码格式,避免了中文乱码的情况。提供了完整的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因:编码格式问题,java读取properties文件默认使用的是ISO8859-1编码

解决方法:按自己的项目需要转成对应的编码格式即可。

 

以下附简单的java读取properties代码:

 

common.properties代码:

#网站名称
site=我的中文网站名称

 

CP.java代码:

import java.io.FileNotFoundException;   
import java.io.IOException;   
import java.util.Properties;   
       
public class CP {   
       
    private static final String path = "config/common.properties";//从src的根目录开始   
    private static final String encode = "UTF-8";//文件的编码格式   
    private static Properties props = new Properties();   
    static {   
        try {   
            props.load(Thread.currentThread().getContextClassLoader()   
                    .getResourceAsStream(path));   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        }   
    }   
       
    public static String getValue(String key) throws Exception {   
        return new String(props.getProperty(key).getBytes("ISO8859-1"), encode);   
    }   
       
    public static void updateProperties(String key, String value) {   
        props.setProperty(key, value);   
    }   
    public static void main(String[] args) throws Exception{   
        System.out.println("网站名称:"+CP.getValue("site"));   
    }   
}

 

转载于:https://www.cnblogs.com/rayy/archive/2013/01/24/4399721.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值