使用 InputStreamReader 和 OutputStreamWriter 类控制编码格式
测试程序
public static void main(String[] args) {
Properties pro = new Properties();
try {
InputStream in = new BufferedInputStream(new FileInputStream(("application.properties")));
pro.load(in);
File file=new File(pro.getProperty("file"));
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
String str=br.readLine();
System.out.println(str);
br.close();
File file2=new File(pro.getProperty("test"));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file2),"UTF-8"));
bw.write(str);
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
application.properties
test=abc
file=test
GBK格式读取文件
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
UTF-8格式写入文件
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file2),"UTF-8"));