java项目编码格式转换(如GBK转UTF-8)

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

昨天突然下了个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);
            }
        }
    }

}

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

相关文章
|
1月前
|
Java 应用服务中间件 开发工具
苍穹外卖》电商实战项目(java)知识点整理(上)
苍穹外卖》电商实战项目(java)知识点整理(上)
190 3
|
2月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
38 0
|
29天前
|
人工智能 监控 算法
java智慧城管源码 AI视频智能分析 可直接上项目
Java智慧城管源码实现AI视频智能分析,适用于直接部署项目。系统运用互联网、大数据、云计算和AI提升城市管理水平,采用“一级监督、二级指挥、四级联动”模式。功能涵盖AI智能检测(如占道广告、垃圾处理等)、执法办案、视频分析、统计分析及队伍管理等多个模块,利用深度学习优化城市管理自动化和智能化,提供决策支持。
213 4
java智慧城管源码 AI视频智能分析 可直接上项目
|
2月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
40 0
|
11天前
|
Java API
编码的奇迹:Java 21引入有序集合,数据结构再进化
编码的奇迹:Java 21引入有序集合,数据结构再进化
15 0
|
11天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
12 0
|
13天前
|
监控 数据可视化 安全
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
环境实时数据、动态监测报警,实时监控施工环境状态,有针对性地预防施工过程中的环境污染问题,打造文明生态施工,创造绿色的生态环境。
11 0
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
|
15天前
|
SQL Java Go
java项目超市购物管理系统
java项目超市购物管理系统
|
15天前
|
Java
java项目日历表
java项目日历表

热门文章

最新文章