您的位置:首页 > 编程语言 > Java开发

Java读写.properties文件实例,解决中文乱码问题

2018-01-11 14:20 961 查看
package com.lxk.propertyFileTest;

import java.io.*;
import java.util.Properties;

/**
* 读写properties文件测试
* <p>
* Created by lxk on 2017/4/25
*/
public class Main {
public static void main(String[] args) {
Properties prop = new Properties();
InputStream in = null;
FileOutputStream oFile = null;
try {
in = new BufferedInputStream(new FileInputStream("D:config.properties"));
//prop.load(in);//直接这么写,如果properties文件中有汉子,则汉字会乱码。因为未设置编码格式。
prop.load(new InputStreamReader(in, "utf-8"));
for (String key : prop.stringPropertyNames()) {
System.out.println(key + ":" + prop.getProperty(key));
}
//保存属性到b.properties文件
oFile = new FileOutputStream("b.properties", false);//true表示追加打开,false每次都是清空再重写

prop.setProperty("phone", "10086");
//prop.store(oFile, "此参数是保存生成properties文件中第一行的注释说明文字");//这个会两个地方乱码
//prop.store(new OutputStreamWriter(oFile, "utf-8"), "汉字乱码");//这个就是生成的properties文件中第一行的注释文字乱码
prop.store(new OutputStreamWriter(oFile, "utf-8"), "lll");
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
if (oFile != null) {
try {
oFile.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: