eclipse将整个工程转为utf-8时原先中文注释会变为乱码,13年时写了个脚本将整个文件的java以及配置文件转为utf-8格式,下面是代码

package com.code.pd;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset; import org.apache.commons.io.IOUtils; /**
*
*
*
* @author lipeng
* @since 1.0
* @version 2013-10-24 lipeng
*/
public class GbkToUtf { /**
* @param args
*/
public static void main(String[] args) {
GbkToUtf.readfile("D:\\workspace\\JavaUtils\\src\\com\\code\\common");
} public static void readfile(String filePath) {
try {
File file = new File(filePath);
if (!file.isDirectory()) {
transferCharset(file);
} else if (file.isDirectory()) {
System.out.println("文件夹");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filePath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
transferCharset(readfile);
} else if (readfile.isDirectory()) {
if(!"excel,jdbc,nosql,spring".contains( filelist[i])){
readfile(filePath + "\\" + filelist[i]);
}
}
} }
} catch (Exception e) {
e.printStackTrace();
} } public static void transferCharset(File file){
try {
String charset=codeString(file);
if("GBK".equals(codeString(file))){
System.out.println(file.getAbsolutePath()+"------------"+charset);
String content = getFileContentWithCharsetName(file, "GBK");
saveFileWithCharsetName(file, "UTF-8", content);
}
} catch (Exception e) {
e.printStackTrace();
} } public static void saveFileWithCharsetName(File file, String charsetName, String content)
throws Exception {
FileOutputStream fileOut = new FileOutputStream(file);
// CharsetDecoder
OutputStreamWriter outWrite = new OutputStreamWriter(fileOut, Charset.forName(charsetName));
outWrite.write(content);
outWrite.close();
} /**
* 判断文件的编码格式
* @param fileName :file
* @return 文件编码格式
* @throws Exception
*/
public static String codeString(File fileName) throws Exception{
BufferedInputStream bin = new BufferedInputStream(
new FileInputStream(fileName));
int p = (bin.read() << 8) + bin.read();
String code = null; switch (p) {
case 0xefbb:
code = "UTF-8";
break;
case 0xfffe:
code = "Unicode";
break;
case 0xfeff:
code = "UTF-16BE";
break;
default:
code = "GBK";
}
IOUtils.closeQuietly(bin);
return code;
} public static String getFileContentWithCharsetName(File file, String charsetName)
throws Exception {
FileInputStream fileIn = new FileInputStream(file);
// CharsetDecoder
InputStreamReader inRead = new InputStreamReader(fileIn, Charset.forName(charsetName));
int size = (int) (file.length());
char[] chs = new char[size];
inRead.read(chs);
String str = new String(chs).trim();
inRead.close();
return str;
}
}

将整个工程的GBK转为utf-8格式的更多相关文章

  1. 目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练

    将目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练. import xml.etree.ElementTree as ET import numpy as ...

  2. 秒转为时分秒格式js

    秒转为时分秒格式 function formatSeconds(value) { if(value == undefined) { value = 0; } var second = parseInt ...

  3. 批量将Java源代码文件的编码从GBK转为UTF-8

    主要参考: http://blog.csdn.net/liu_qiqi/article/details/38706497 使用common io批量将java编码从GBK转UTF-8 http://w ...

  4. Eclipse:批量将Java源代码文件的编码从GBK转为UTF-8

    很简单的几行代码,就可以批量将GBK格式的java文件转为UTF-8格式. 基本上所有文本文件的编码转换都可以采用这种方式. import java.io.File; import java.io.I ...

  5. 小程序:将gbk转为utf-8

    是否有过写了半天代码,发现竟然用的GBK编码,然后到主UTF-8上发现中文全部变成乱码了... 下面这个程序,只要输入src的位置,瞬间转换成utf-8 package tools; import j ...

  6. Shell脚本把文件从GBK转为UTF-8编码

    http://www.jb51.net/article/51308.htm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  7. 如何将Java源代码文件的编码从GBK转为UTF-8?

    有时候看到有意思的demo,在头痛导入项目的编码和workspace的编码不一样的时候 我试着将 笔记本打开一个类一个类的复制, demo的类比较少的时候 可以忍受,demo的类多的时候 除了靠之外 ...

  8. scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据

    在安装完scrapy以后,相信大家都会跃跃欲试想定制一个自己的爬虫吧?我也不例外,下面详细记录一下定制一个scrapy工程都需要哪些步骤.如果你还没有安装好scrapy,又或者为scrapy的安装感到 ...

  9. 使用python把gdb格式的文本文件转为utf-8的格式

    # coding=utf-8 from os import listdir if __name__ =="__main__": d=u"D:\\files\\" ...

  10. 后台返回的base64的图片格式,前端如何转为普通的图片格式

    在上一篇的博客当中,写了前端如何将普通的图片格式转为base64的图片,今天开发的时候遇到了后台返回的图片格式是base64的,我这边需要把base64的图片格式转为普通的,搜了一下js的方法,感觉很 ...

随机推荐

  1. Debezium-Flink-Hudi:实时流式CDC

    1. 什么是Debezium Debezium是一个开源的分布式平台,用于捕捉变化数据(change data capture)的场景.它可以捕捉数据库中的事件变化(例如表的增.删.改等),并将其转为 ...

  2. vim中ctags 的使用

    --- title: vim中ctags 的使用 EntryName: vim-config-with-ctags date: 2020-08-19 11:17:38 categories: tags ...

  3. uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系

    按各地址起作用的顺序,uboot引导linux内核启动涉及到以下地址: load address: entry point: 这两个地址是mkimage时指定的 bootm address:bootm ...

  4. 七牛云 + PicGo

    下载PicGo https://github.com/Molunerfinn/PicGo/releases/tag/v2.3.1 七牛云配置 1.AccessKey和SecretKey:可以在七牛云控 ...

  5. 2.3T NPU强势登场!NXP i.MX 8M Plus开启工业新篇章,14纳米!

                    更多产品详情以及购买咨询 可添加如下客服人员微信 (即刻添加,马上咨询) 更多i.MX 8M Plus产品资料 可长按二维码识别下载 如需选购,请登录创龙科技天猫旗舰店 ...

  6. 最新最全的BMS/EMS/PCS六大国产“储能方案”,不信你全都看过!

    作为国内领先的嵌入式产品平台提供商,创龙科技在"能源电力"行业拥有超过1000家客户,接下来就让小编向大家分享创龙科技推出的BMS/EMS/PCS"六大储能方案" ...

  7. Qt实现汽车仪表盘

    在UI界面显示中,仪表盘的应用相对比较广泛,经常用于显示速度值,电压电流值等等,最终实现效果如下动态图片(文末提供给源工程下载): 主要包含以下绘制步骤: 绘制画布 /* * 绘制画布 */ void ...

  8. docker-compose创建haproxy教程

    本文主要讲解通过docker-compose创建haproxy并进行代理 一.haproxy简介 HAProxy是一款基于事件驱动.单进程模型设计的四层与七层负载均衡器,它能够在TCP/UDP层面以及 ...

  9. nuxt3正确使用keepalive页面缓存组件缓存

    最近使用nuxt@3.x版本做SEO优化项目比较多,之前也踩坑过,所以记录一下在 nuxt3 中路由缓存的正确使用方法,本人也之前在GitHub社区中提交过反馈问题,最后是在 3.8.2 版本解决了路 ...

  10. mysql Using join buffer (Block Nested Loop) join连接查询优化

    最近在优化链表查询的时候发现就算链接的表里面不到1w的数据链接查询也需要10多秒,这个速度简直不能忍受 通过EXPLAIN发现,extra中有数据是Using join buffer (Block N ...