黑马程序员技术交流社区

标题: Properties加载时产生的问题 [打印本页]

作者: 谢冬    时间: 2013-3-16 11:31
标题: Properties加载时产生的问题
public static void loadDemo() throws Exception
        {
                Properties prop = new Properties();
                prop.load(new FileInputStream("properties.txt"));
                prop.list(System.out);
        }
输出结果:
-- listing properties --
????=22
????=23
????=26
奇了怪了,前面的名字怎么全是问号?难道我配置的文件有问题?
文件中的内容是:
张三 =23
李四=22
王五=26
作者: 杨冉    时间: 2013-3-16 11:43
因为Properties读写操作文件都采用的是ISO 8859-1编码的,你肯定是没有转换,这个编码不支持中文的。。
作者: 李阳    时间: 2013-3-16 12:25
prop.load(new FileInputStream("properties.txt"));
这句话是向prop加载字节流对象,而你文件存储的是汉字。一个汉字是由多个字节组成的,所以字节流对象读取时把一个汉字拆分成多个字节进行转换,当然会乱码了。
prop.load(new FileReader("properties.txt"));
或者 prop.load(new InputStreamReader(new FileInputStream("properties.txt")));
这样修改后就不会出问题了
作者: 陈丽莉    时间: 2013-3-16 14:22
若还有问题,请继续追问;没有的话,请将帖子分类改成【已解决】~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2