精华内容
下载资源
问答
  • Java工程编码格式由GBK转化成utf-8(编码格式互转)

    万次阅读 多人点赞 2021-07-15 21:37:15
    在写项目的过程中我发现有的地方编码格式被设置gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码。 在这里搞了一个工具,直接输入之前的编码格式跟要改的编码格式就会自动转换 转换完成后直接设置...

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

    下载:https://download.csdn.net/download/weixin_44893902/20367405

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

    在这里插入图片描述
    转换完成后直接设置为更改后的格式即可
    在这里插入图片描述

    以下是源代码:

    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);
                }
            }
        }
    
    }
    

    参考:
    将GBK项目修改成UTF-8项目
    https://blog.csdn.net/chengzhuo5471/article/details/100840187
    https://my.oschina.net/momomo/blog/845610

    展开全文
  • java将gbk文件批量转换成UTF-8

    热门讨论 2013-08-12 15:58:48
    在开发的时候经常碰到这样的情况,需要原本编码格式为GBK的工程改成UTF-8来编码,设置之后,注释全都乱码了,一个一个改太麻烦,有了这个工具只用运行一下main方法,一键搞定 ps:如果是UTF-8转GBK,或是其他编码...
  • 说明:将gbk编码的.java文件转换成utf-8编码,支持单个文件和文件夹,比较简单,直接上代码 public class EncodeUtil { /** * GBK转UTF-8 * 注:直接覆盖,只能转一次,多次转换会乱码 * * @param ...

    JAVA文件编码转换

    Android项目从eclipse迁移至Android Studio,遇到了编码问题,本来想偷懒找个工具,奈何百度大法没练好,索性就自己写了2333

    说明:将gbk编码的.java文件转换成utf-8编码,支持单个文件和文件夹,比较简单,直接上代码

    public class EncodeUtil {
    
    	/**
    	 * GBK转UTF-8
    	 * 注:直接覆盖,只能转一次,多次转换会乱码
    	 * 
    	 * @param filePath 文件或文件夹路径
    	 * */
    	public static final void GBK2UTF8(String filePath) throws IOException {
    		
    		File file = new File(filePath);
    		if (!file.exists()) {
    			return;
    		}
    		if (!file.isDirectory()) {
    			if (!filePath.endsWith(".java")) {// 过滤非.java文件
    				return;
    			}
    			BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));
    			StringBuilder sb = new StringBuilder();
    			String str;
    			while ((str = bufferedReader.readLine()) != null) {
    				sb.append(str).append("\n");// 整个.java文件读成一个字符串,所以需要换行
    			}
    			// 下面的参数false是直接覆盖
    			OutputStreamWriter streamWriter = new OutputStreamWriter(new FileOutputStream(file.getAbsolutePath(), false), "UTF-8");
    			streamWriter.write(sb.toString());
    			streamWriter.flush();
    		} else {
    			File[] files = file.listFiles();
    			for (File file2 : files) {
    				GBK2UTF8(file2.getAbsolutePath());
    			}
    		}
    	}
    	
    }
    

    测试代码

    public class Client {
    
    	public static void main(String[] args) {
    		String path = "F:\\hello";
    		new Thread(new Runnable() {
    			
    			@Override
    			public void run() {
    				System.out.println("开始转换。。。");
    				try {
    					EncodeUtil.GBK2UTF8(path);
    					System.out.println("转换完成");
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}).start();
    	}
    	
    }
    

    写完收工,以后用到了就可以做一个copy ninja,舒服…

    展开全文
  • 可用于转换java文件为指定格式编码工具(内付源码),自动检测文件的编码类型。
  • 使用时只需要main()函数中src值改成GBK文件目录,des值改成任意文件夹名即可。格式转变完成后,复制des文件夹中的新文件去覆盖GBK文件。 使用前最好备份一份代码,以备万一。 ConvertGBK2Utf8.java import java.io...

    由于本人实验室前辈的代码都是GBK编码格式,而自己之前敲代码的工作环境都是UTF-8,因此写下这个GBK格式转UTF-8格式的小工具类。

    使用时只需要将main()函数中src值改成GBK文件目录,des值改成任意文件夹名即可。格式转变完成后,复制des文件夹中的新文件去覆盖GBK文件。

    使用前最好备份一份代码,以备万一。

    ConvertGBK2Utf8.java

    import java.io.*;
    import java.util.Arrays;
    
    /**
     * @Author Nino 2020/9/1
     */
    public class ConvertGBK2Utf8 {
        public static void main(String[] args) {
            String src = "D:\\Nino\\Dropbox\\Code\\OpticalNetwork\\ULL_NEW\\src";
            String des = "des";
            try {
                convertGBK2U8(src, des);
                System.out.println("200");
            } catch (IllegalArgumentException e) {
                System.out.println("要被转换的文件不存在!");
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("Convert fails!");
            }
        }
    
        private static void convertGBK2U8(String src, String des) throws Exception {
            File srcFile = new File(src);
            File desFile = new File(des);
    
            if (!srcFile.exists()) {
                throw new IllegalArgumentException();
            }
            if (!desFile.exists()) {
                desFile.mkdirs();
            }
            File[] srcLists;
            if (srcFile.isDirectory()) {
                srcLists = srcFile.listFiles();
            }else{
                srcLists = new File[1];
                srcLists[0] = srcFile;
            }
            for (File file : srcLists) {
                if (file.isDirectory()) {
                    convertGBK2U8(file.getPath(), des + "\\" + file.getName());
                } else {
                    InputStreamReader is = new InputStreamReader(new FileInputStream(file), "GBK");
                    OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(des + "\\" + file.getName()), "UTF-8");
                    char[] chars = new char[1];
                    int len = -1;
                    while ((len = is.read(chars)) != -1) {
                        os.write(chars, 0, chars.length);
                    }
    //                os.flush();
                    os.close();
                    is.close();
                }
            }
        }
    }
    

    实验结果一切正常。
    唯一不太理解的一点是转换格式后的文件尾部会出现多余的字符,如果有人知道原因,还希望在评论区指出,谢谢!

    展开全文
  • 还是由于git家里mac班上windows, windows上的eclipse设置的时候不小心给默认...于是想着把所有已有的gbk编码的java文件全部转换为utf-8。public void transfer(String srcDirPath ,String utf8DirPath) throws IOExcep

    还是由于git

    家里mac班上windows, windows上的eclipse设置的时候不小心给默认了gbk。push到远程仓库的时候会由于某些设置不到位导致github上看来汉字是乱码。于是想着把所有已有的gbk编码的java文件全部转换为utf-8。

    public void transfer(String srcDirPath ,String utf8DirPath) throws IOException{
    
            //获取所有java文件 
            Collection<File> javaGbkFileCol =  FileUtils.listFiles(new File(srcDirPath), new String[]{"java"}, true);
            for (File javaGbkFile : javaGbkFileCol) { 
                  //UTF8格式文件路径 
                  String utf8FilePath = utf8DirPath+javaGbkFile.getAbsolutePath().substring(srcDirPath.length()); 
                   //使用GBK读取数据,然后用UTF-8写入数据 
                  FileUtils.writeLines(new File(utf8FilePath), "UTF-8", FileUtils.readLines(javaGbkFile, "GBK"));        
            }
    
        }

    该方法依赖于 commons-io.jar

    http://commons.apache.org/io/download_io.cgi


    经此一役,以后编辑器和IDE默认编码统一为UTF-8

    展开全文
  • import sun.nio.cs.ext.GBK;... * 将GBK 编码转变 UTF-8 * <p> * 思路, * 1. 创建一个GBK 格式 的 TXT * 2. 读取一个 GBK 格式的 txt * 3. 读取后 以 UTF - 8 格式 输出 一个 TXT */ pub
  • java如何将中文转换成byte数组

    万次阅读 2019-05-26 13:21:46
    其实大家都知道utf-8英文占1个字节,中文占3个字节,GBK中文英文都占2个字节,但是我想问,比如utf-8,有谁知道一个中文字符是如何在java中转换一个byte数组的? 好了,下面进入我们的正题: 例如;中 这个字是如何...
  • *文件编码转换gbk与utf-8互转 * changeFileCode 方法,4个属性:(需要转换的文件目录,转换后的文件目录,当前文件编码格式,转换成需要的文件编码); * 需要转换的文件目录,转换后的文件目录--可以为同一路径...
  • 真是感谢。代码生成的java和jsp终于不再手工转码了。 核心代码:private static void transferFile(String srcFileName, String destFileName) throws
  • 利用转换将GBK格式文件以UTF-8输出 实现代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.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...
  • java批量utf-8转化gbk

    千次阅读 2013-11-19 15:42:26
    import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStr
  • java将GBK转为utf-8

    千次阅读 2017-04-08 14:44:29
    Java使用UNICODE编码,可以在读文件时使用GBK,此时内存中存在的是GBK转化为UNICODE储存的,写出时采用UTF-8写出(UNICODE转化为UTF-8)。 同理:我们可以利用java的这一特性进行各种不同规范的编码转化.
  • 文章目录JavaGBK编码项目统一转换成utf-8格式1. 构建2. 打包参考内容 JavaGBK编码项目统一转换成utf-8格式 原理: 使用common io批量将java项目从GBK转为UTF-8. 1. 构建 使用common io批量将java编码从GBK转...
  • javaGBK与UTF-8编码的转换

    万次阅读 多人点赞 2019-06-25 15:08:59
    java中文件编码的转换,主要说明了GBK与UTF-8编码之间的转换, 还介绍了利用cpdetector开源库确定文件文件(网页)编码的方法。
  • utf8转gbk,再将转换后的数据转16进制字符串。如冷库房12 - C0E4BFE2B7BF3132 求助各位大佬
  • public static void encode() { String string = "123abc张三"; try { System.out.println("string:"+string);... string = URLEncoder.encode(string, "GBK"); System.out.println("gbk:"+string); string = URL
  • java gbk utf8转换

    千次阅读 2012-05-05 13:01:42
    JAVA中Unicode转成中文(转) JavaJDK互联网C#C++ 在做Java 开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行 Unicode重新...
  • unicode转换成gbk或者中文

    千次阅读 2015-11-09 19:31:51
    这是我做项目遇到一个问题,就是服务器传来了json数据,但是出来的中文是这种\u5C0F\u8F89\u8F89 unicode格式的,于是我去百度,找到这段简短的代码,其他都好长,我用的时候,的确能成功转换,但是有个bug就是json...
  • 题目: 将GBK编码的文本文件,转换为UTF-8编码的文本文件。分析:1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称GBK。2.创建OutputTreamWrite对象,构造方法中传递字节输出流和指定的...
  • java 编码转换GBK>>UTF-8)

    千次阅读 2018-11-16 10:38:18
    java中,经常会面临乱码问题,这里主要介绍一种编码转换方式; (1)使用下面的String构造方法,new一个对象 (2)要得到byte[]的结果值,那么需要调用getBytes()方法,传入charsetName即可 String (byte[] ...
  • Java| Java-GBK工程转UTF8工程(批量转换项目文件编码格式)-附件资源

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,138
精华内容 25,655
关键字:

java将中文转化成gbk

java 订阅