善忘技术夹 Logo
善忘技术夹
技术文章 · 1939 阅读

去掉UTF8 BOM格式,转换成UTF8格式

public static void utf8bom2Utf8(String dir) throws IOException{

File file = new File(dir);

if(file.isDirectory()){

File[] files = file.listFiles();

for (int i = 0; i < files.length; i++) {

utf8bom2Utf8(files[i].getAbsolutePath());

}

} else{

FileInputStream fis = new FileInputStream(file);

long size = fis.getChannel().size();

byte[] b = new byte[3];

fis.read(b, 0, 3);

String str = "";

for (byte c : b) {

str += Integer. toHexString(c&0xff);

}

if(“efbbbf” .equals(str)){

System. out.println(file.getAbsolutePath());

byte[] newbytes = new byte[( int)size-3];

fis.read(newbytes,0,( int)size-3);

fis.close();

FileOutputStream fos = new FileOutputStream(file);

fos.write(newbytes);

fos.flush();

fos.close();

}

}

}

关注「善忘技术夹」全媒体矩阵

扫描上方宣传海报二维码,第一时间获取最新技术文章、开源项目与免安装小程序体验。

善忘技术夹 微信公众号宣传图
微信公众号 (扫码关注)
善忘技术夹 微信小程序宣传图
微信小程序 (扫码即用)