java转换文件格式_java实现 批量转换文件编码格式

importjava.io.File;importjava.io.FileFilter;importjava.nio.charset.Charset;importcn.hutool.core.io.FileUtil;importcn.hutool.core.lang.Console;importcn.hutool.core.util.StrUtil;public classConcertEncodeing {public static voidmain(String[] args) {

convertCharset("D:\\workspaces\\workspaceOxygen\\ceshi",Charset.forName("GBK"),Charset.forName("UTF-8"),"java");

}/*** 转换文件编码格式

*@parampath 需要转换的文件或文件夹路径

*@paramfromCharset 原编码格式

*@paramtoCharset 目标编码格式

*@paramexpansion 需要转换的文件扩展名,如需全部转换则传 null*/

private static voidconvertCharset(String path,Charset fromCharset,Charset toCharset,String expansion ) {if(StrUtil.isBlank(path)) {return;

}

File file=FileUtil.file(path);

File[] listFiles= file.listFiles(newFileFilter() {

@Overridepublic booleanaccept(File pathname) {if(StrUtil.isBlank(expansion)) {return true;

}if (FileUtil.isDirectory(pathname)||FileUtil.extName(pathname).equals("java")) {return true;

}return false;

}

});for (int i = 0; i < listFiles.length; i++) {if(listFiles[i].isDirectory()) {

String canonicalPath=FileUtil.getCanonicalPath(listFiles[i]);//每个文件夹分个线程处理,提高点儿效率

new Thread(newRunnable() {

@Overridepublic voidrun() {

convertCharset(canonicalPath,fromCharset,toCharset,expansion);

}

}).start();

}else{

FileUtil.convertCharset(listFiles[i], fromCharset, toCharset);

Console.log("转换完成文件名:{}",listFiles[i].getName());

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值