Java工程编码格式由GBK转化成utf-8的具体实现

 更新时间:2024年05月10日 11:55:23   作者:明金同学  
在写项目的过程中我发现有的地方编码格式被设置成了 gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码,所以本文给大家介绍了Java工程编码格式由GBK转化成utf-8的具体实现,感兴趣的朋友可以参考下

在写项目的过程中我发现有的地方编码格式被设置成了 gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码。

在这里搞了一个工具,直接输入之前的编码格式跟要改的编码格式就会自动转换

转换完成后直接设置为更改后的格式即可

以下是源代码:

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 明金同学	CSDN:https://ymjin.blog.csdn.net/
 */
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);
            }
        }
    }

}

到此这篇关于Java工程编码格式由GBK转化成utf-8的具体实现的文章就介绍到这了,更多相关Java编码格式GBK转utf-8内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于SpringCloud的微服务以及组件详解

    关于SpringCloud的微服务以及组件详解

    这篇文章主要介绍了关于SpringCloud的微服务以及组件详解,是一个更高层次的、 架构视角的综合性大型项目, 他的目标是构建一套标准化的微服务解决方案,需要的朋友可以参考下
    2023-05-05
  • 解读Maven安装全过程

    解读Maven安装全过程

    下载并安装Maven时,需注意IDE的兼容版本,例如,IDEA2022及之前兼容至Maven3.8.1,而IDEA2020则至3.6.3,安装后,配置MAVEN_HOME环境变量并调整settings.xml以使用本地仓库和阿里云镜像,以优化构建和下载速度,最后,确保IDEA项目默认使用正确的Maven配置
    2024-11-11
  • 关于SpringSecurity的基本使用示例

    关于SpringSecurity的基本使用示例

    这篇文章主要介绍了关于SpringSecurity的基本使用示例,SpringSecurity 本质是一个过滤器链SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链,需要的朋友可以参考下
    2023-05-05
  • 详解Java中Array和ArrayList的比较和转换

    详解Java中Array和ArrayList的比较和转换

    在 Java 编程中,arrays 和 arraylists 都是基本的数据结构,用来存放数据集合,虽然两者的用途一样,但是它们的特点极大地影响应用的性能和灵活性,本文探讨 arrays 和 arraylists 的重要特性,它们各自的强项和弱点,,需要的朋友可以参考下
    2023-08-08
  • 通过Maven进行jedis连接redis的实现

    通过Maven进行jedis连接redis的实现

    这篇文章主要介绍了通过Maven进行jedis连接redis的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • java常用工具类 UUID、Map工具类

    java常用工具类 UUID、Map工具类

    这篇文章主要为大家详细介绍了Java常用工具类,包括UUID工具类、Map工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Spring Boot整合SSE实时通信的问题小结

    Spring Boot整合SSE实时通信的问题小结

    本文介绍了服务器发送事件(Server-Sent Events,SSE)技术,其主要特点包括单向数据流、自动重连、自定义事件类型等,SSE适用于实时更新场景,如新闻推送、评论系统等,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • springboot中使用groovy的示例代码

    springboot中使用groovy的示例代码

    Groovy就是一种继承了动态语言的优良特性并运行在JVM上的编程语言,Groovy支持动态输入,闭包,元编程,运算符重载等等语法,这篇文章主要介绍了springboot中使用groovy的相关知识,需要的朋友可以参考下
    2022-09-09
  • java使用stream判断两个list元素的属性并输出方式

    java使用stream判断两个list元素的属性并输出方式

    这篇文章主要介绍了java使用stream判断两个list元素的属性并输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • idea中java及java web项目的常见问题及解决

    idea中java及java web项目的常见问题及解决

    在IDEA中处理乱码问题主要涉及四个方面:文件编码设置为UTF-8、编辑器默认编码调整、Tomcat运行配置编码设置以及解决cmd中的乱码,此外,详细介绍了在IDEA中创建Web项目的步骤,包括新建Java工程、添加Web框架支持、添加Tomcat依赖库
    2024-09-09

最新评论