zoukankan      html  css  js  c++  java
  • java文件转码

    完整项目带lib

    参考
    http://toyota2006.iteye.com/blog/540316
    判断编码
    1. package change;
    2. import info.monitorenter.cpdetector.io.CodepageDetectorProxy;
    3. import info.monitorenter.cpdetector.io.JChardetFacade;
    4. import java.io.File;
    5. import java.nio.charset.Charset;
    6. public class EncodingUtil {
    7. public static String getFileEncoding(String filePath) {
    8. File file = new File(filePath);
    9. return getFileCharacterEnding(file);
    10. }
    11. /**
    12. * Try to get file character ending.
    13. * </p>
    14. * <strong>Warning: </strong>use cpDetector to detect file's encoding.
    15. *
    16. * @param file
    17. * @return
    18. */
    19. public static String getFileCharacterEnding(File file) {
    20. String fileCharacterEnding = "UTF-8";
    21. CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
    22. detector.add(JChardetFacade.getInstance());
    23. Charset charset = null;
    24. // File f = new File(filePath);
    25. try {
    26. charset = detector.detectCodepage(file.toURL());
    27. } catch (Exception e) {
    28. e.printStackTrace();
    29. }
    30. if (charset != null) {
    31. fileCharacterEnding = charset.name();
    32. }
    33. return fileCharacterEnding;
    34. }
    35. public static void main(String[] args) {
    36. System.out.println(getFileEncoding("E:/code/myec_cyh/pingan_dmz/test.java"));
    37. System.out.println(getFileEncoding("E:/code/myec_cyh/pingan_dmz/src/cn/com/benyoyo/manage/core/DBUtil/PublicDao.java"));
    38. }
    39. }
    转码
    1. package change;
    2. import java.io.File;
    3. import java.util.Collection;
    4. import org.apache.commons.io.FileUtils;
    5. /**
    6. *
    7. * @author sgy
    8. *
    9. *如果项目中同时存在有gb2312/gbk和utf8的文件,则将gb2312/gbk的转为utf8
    10. */
    11. public class ChangeEncoding {
    12. public static void main(String[] args) throws Exception {
    13. //GBK编码格式源码路径
    14. String srcDir = "E:\pingan_dmz";
    15. //转为UTF-8编码格式源码路径
    16. String targetDirectory = "E:\code\myec_cyh\pingan_dmz";
    17. //获取所有java文件
    18. Collection<File> srcDirFileCol = FileUtils.listFiles(new File(srcDir), new String[]{"java"}, true);
    19. for (File srcFile : srcDirFileCol) {
    20. String srcFilePath = srcFile.getAbsolutePath();
    21. //当为GB2312时才会转换为urf8
    22. String srcEncoding = EncodingUtil.getFileEncoding(srcFilePath);
    23. System.out.print(srcFile.getName()+":"+srcEncoding+" ");
    24. if ("GB2312" == srcEncoding || "GBK" == srcEncoding) {
    25. System.out.println();
    26. System.out.print(srcFile.getAbsolutePath());
    27. //UTF8格式文件路径
    28. String targetFilePath = targetDirectory+srcFilePath.substring(srcDir.length());
    29. //使用GBK读取数据,然后用UTF-8写入数据
    30. FileUtils.writeLines(new File(targetFilePath), "UTF-8", FileUtils.readLines( srcFile, srcEncoding));
    31. }
    32. }
    33. }
    34. }





    附件列表

    • 相关阅读:
      Django进阶之CSRF
      Django进阶之session
      simple_tag,filte,分页以及cookie和装饰器
      Django 中url补充以及模板继承
      Django补充及初识Ajax
      2016年12月20日感想
      Docker的镜像
      继续Django
      jS正则和WEB框架Django的入门
      Docker的容器
    • 原文地址:https://www.cnblogs.com/stit/p/6368990.html
    Copyright © 2011-2022 走看看