Properties类读取文件的中文

今天做了一个用Properties类来读取文件中文的类,开始的时候由于不知道用什么编码来做,导致中文老是乱码,最后不停的试验,得出了两种解决的方式:
package com.string;

import java.util.*;
import java.io.*;
/**
*问题:程序打印什么?
*如果熟悉Boolean.getBoolean()这个方法的话,应该不会出错。方法的功能参考文档。
*/
public class SimpleQuestion {

static boolean yesOrNo(String s) throws Exception {
s = s.toLowerCase();
if (s.equals("yes") || s.equals("y") || s.equals("t")) {
s = "true";
}
// Properties prop = System.getProperties();
Properties prop = new Properties();
/*
Available from JDK1.6
Reader read = new BufferedReader(new InputStreamReader(new FileInputStream("F:\\Resources.properties.zh"),"Unicode"));
prop.load(read);
*/

/**
*如果打印出中文呢?
*/

prop.load(new FileInputStream("F:\\Resources.properties.zh"));

System.out.println();
//先用ISO-8859-1来编码,然后用GBK编码 试验的结果是GB2312也可以
// 以前也看到过字符的编码解码的文章,但是没有深入的了解,到现在还是不太
// 了解
[color=red]System.out.println(new String(prop.getProperty("prompt.index.title").getBytes("ISO-8859-1"),"GBK"));[/color]


//prop.setProperty("true","true");

//System.out.println(prop.getProperty("true"));

/**
* 当且仅当以参数命名的系统属性存在,且等于 "true" 字符串时,才返回 true。(从 JavaTM 平台的 1.0.2 版本开始,字符串的测试不再区分大小写。)
* 通过 getProperty 方法可访问系统属性,此方法由 System 类定义。
**/
return Boolean.getBoolean(s);

}

public static void main(String[] args) throws Exception {
System.out.println(yesOrNo("true") + " " + yesOrNo("Yes"));
}
}


方法二:
用java自带的native2asii 命令来把文件转换成 自带的字节编码

命令目录:java/bin
命令格式: native2asii name.properties > new_name.properties*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值