zoukankan      html  css  js  c++  java
  • java项目编码格式转换(如GBK转UTF-8)

    昨天突然下了个Java项目,把项目导入到eclipse中,发现项目是gbk编码格式想把项目变为utf-8,但是发现转换格式比较麻烦就写了这个代码,后面改进了下,想到说不定有人也需要就把它写了出来
    代码如下
    代码比较简单看懂了自己可以写一下,可以当做一个关于io流的一个练习

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.util.Scanner;
    
    /**
     * 把gbk编码的程序变换为用utf-8的格式编码
     *
     * 此程序只是为了改变 .java文件的编码格式如果你想要变换为其他格式只需要改变下面对应的编码按格式
     *
     * @author ylg
     */
    public class Files {
    
        /**
         *
         * @param args
         * @throws UnsupportedEncodingException
         * @throws IOException
         */
        public static void main(String[] args) throws UnsupportedEncodingException, IOException {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入需要改变编码格式的文件位置");
            String str = scan.nextLine();
            File file = new File(str);
            System.out.println("文件的初始编码");
            String bm1 = scan.nextLine();
            System.out.println("文件需要转换成的编码");
            String bm2 = scan.nextLine();
            getAllFiles(file, bm1, bm2);
        }
    
        /**
         *
         * @param file 要编译的文件
         * @param bm1 文件的初始编码
         * @param bm2 文件需要转换成的编码
         * @throws FileNotFoundException 文件找不到
         * @throws UnsupportedEncodingException 编码出错
         * @throws IOException io异常
         */
        public static void getAllFiles(File file, String bm1, String bm2) throws FileNotFoundException, UnsupportedEncodingException, IOException {
            if (file.isDirectory()) {
                File[] test = file.listFiles();
                for (File test1 : test) {
                    //类的名字
                    String str = test1.getPath();
                    if (str.endsWith("java") & test1.isFile()) {
                        String[] s = str.split("\.");
                        String filecope = s[0] + "cope." + s[1];
                        System.out.println(filecope);
                        File fil = new File(filecope);
                        //转格式
                        InputStreamReader isr = new InputStreamReader(new FileInputStream(test1), bm1);
                        OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream(fil), bm2);
                        int re = -1;
                        while ((re = isr.read()) != -1) {
                            osr.write(re);
                        }
                        isr.close();
                        osr.close();
                        InputStreamReader isrr = new InputStreamReader(new FileInputStream(fil), bm2);
                        OutputStreamWriter osrw = new OutputStreamWriter(new FileOutputStream(test1), bm2);
                        int r = -1;
                        while ((r = isrr.read()) != -1) {
                            osrw.write(r);
                        }
                        isrr.close();
                        osrw.close();
                        boolean d = fil.delete();
                        System.out.println(str + "文件转换utf-8成功:" + d);
                    }
                    getAllFiles(test1, bm1, bm2);
                }
            }
        }
    
    }
    
    

    写的不好的地方大家可以说一下共同学习!

  • 相关阅读:
    eclipse新建maven web项目
    mongodb启用Profiling定位问题
    Linux下系统监控工具nmon使用
    MMS(mongodb监控工具)
    Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录
    mongodb sharding集群搭建
    linux 下mongodb 3.2.5单机版安装
    linux mongodb replica set集群安装
    DOS命令查询当前文件夹中文件数量
    centos7 开放mongodb端口
  • 原文地址:https://www.cnblogs.com/yangliguo/p/7399025.html
Copyright © 2011-2022 走看看