java更改文件字符集编码
/* ** @Author adolph
* @Description 更改文件的字符集编码
* @Date 9:19 2020/5/26
* @Param [file,contentType]
* @return java.io.File
**/
public File changedContentType(File file,String contentType) throws IOException{
//获取已获取的字符输入流
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String str = null;
// 创建StringBuffer字符串缓存区
StringBuffer sb = new StringBuffer();
// 通过readLine()方法遍历读取文件
while ((str = br.readLine()) != null) {
// 使用readLine()方法无法进行换行,需要手动在原本输出的字符串后面加"\n"或"\r"
str += "\n";
sb.append(str);
}
String fileSource = sb.toString();
// 以GBK格式写入文件,file.getAbsolutePath()即该文件的绝对路径,false代表不追加直接覆盖,true代表追加文件
FileOutputStream fos = new FileOutputStream(file.getAbsolutePath(), false);
OutputStreamWriter osw = new OutputStreamWriter(fos, contentType);
try{
osw.write(fileSource);
return file;
}catch(Exception e){
e.printStackTrace();
return null;
}finally {
osw.flush();
osw.close();
fos.close();
br.close();
isr.close();
fis.close();
}
}
以上是 java更改文件字符集编码 的全部内容, 来源链接: utcz.com/z/393274.html