Java实现将GBK编码格式的文件夹中所有文件都转化为UTF-8格式的文件,编码格式转化
2024-09-02 15:51:38
package CodeConvert; import Java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.nio.charset.Charset; public class GBKtoUTF8 { //遍历文件 public static void fileList(File file) { File rootFile = file; File[] files = rootFile.listFiles(); if (files != null) { for (File f:files) { if (!f.isDirectory()) { codeConvert(f); } System.out.println(f.getPath()); fileList(f);//递归调用子文件夹下的文件 } } } //另一种展示方式,自己玩的与实现功能无关 public static void fileList1(File file,int node){ node++; File rootFile = file; File[] files = rootFile.listFiles(); if (files != null) { for(File f:files){ for (int i=0; i < node; i++) { if (i == node-1) { System.out.print("|-"); }else System.out.print(" "); } System.out.println(f.getName()); fileList1(f, node); } } } public static void main(String[] args){ File file = new File("/Users/...../GBK"); GBKtoUTF8.fileList(file); //GBKtoUTF8.codeConvert(file); } public static void codeConvert(File file) { try{ BufferedReader br = new BufferedReader(new InputStreamReader (new FileInputStream(file), Charset.forName("GBK"))); StringBuilder sb = new StringBuilder(); String str; while ((str = br.readLine())!= null) { sb.append(str); sb.append("\n"); } BufferedWriter bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(file),Charset.forName("UTF-8"))); bw.write(sb.toString()); bw.flush(); bw.close(); //br.close(); }catch (Exception e){ e.printStackTrace(); } } }
最新文章
- MFC双缓存技术代码
- [No00007D]2016-面经[上]
- iOS RSA加密解密及签名验证
- .Net连接数据库-曾,删,改,查(AOD.Net)
- [转载]android的消息处理机制(图+源码分析)——Looper,Handler,Message
- Nginx Location配置语法介绍、优先级说明
- GMT、UTC、PDT 时间是什么?Linux下如何调整时区
- Sqlserver 理解子查询
- mac os 常用终端软件工具
- 【行为型】State模式
- GIT分支管理是一门艺术(转)
- Android - 支持不同的设备
- bootstrap的总结1 - 网格系统
- HYBControllerTransitions中文文档
- SQL联表查询
- 第一个lucene程序,把一个信息写入到索引库中、根据关键词把对象从索引库中提取出来、lucene读写过程分析
- Android简易实战教程--第七话《在内存中存储用户名和密码》
- JS基础学习2
- .net core xss攻击防御
- PL/SQL第四章 where子语句