java如何从gbk格式的文件中读取字符串保存为utf8的文件

请问使用有个IO流?用什么方式转换编码并写入?

第1个回答  2013-11-24
String name = "d:/test.txt";
String fileTo = "d:/x.txt";
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(name), Charset.forName("GBK")));
StringBuilder sb = new StringBuilder();
String str;
while((str = br.readLine()) != null){
sb.append(str);
}

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileTo), Charset.forName("UTF-8")));
bw.write(sb.toString());
bw.flush();
bw.close();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}本回答被网友采纳
第2个回答  推荐于2016-07-18
读入: BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileFrom), Charset.forName("GBK")));

写出: BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileTo), Charset.forName("UTF-8")));本回答被提问者采纳
相似回答