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. 记录一次BoxedApp Packer脱壳解包的记录

    收到朋友的一个求助,一个硬件配套的上位机软件,无法联系到供应商,没有授权,在新电脑安装后无法使用. 简单的记录下过程 首先打开发过来的软件的目录下,一个配置工具,从图片可以判断,是.net winfo ...

  2. Pycharm import faker 和 colorlog提示“No module name faker/colorlog”

    问题: Pycharm import faker / colorlog,下划线爆红,提示"No module name faker/colorlog" 排查,检查pycharm 该 ...

  3. linux 下新建显示器分辨率

    1. 输入cvt 1920 1080 (假设需要添加的分辨率为1920x1080), 获取Mode Line # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.1 ...

  4. 记录.Net部署Docker-v指令使用

    记录Docker的-v指令使用 前言 之前我浅学了一下docker,方便部署.net项目(部署的是打包之后的项目) dockerfile文件如下: FROM mcr.microsoft.com/dot ...

  5. Python中使用MySQL模糊查询的方法

    1.方法一:使用pymysql库的方法 当在Python中使用MySQL进行模糊查询时,我们通常会使用pymysql或mysql-connector-python这样的库来连接MySQL数据库并执行查 ...

  6. Linux 驱动需要考虑的同步问题

    --- title: Linux 驱动需要考虑的同步问题 date: 2020-06-22 07:21:32 categories: tags: - ipc - linux - kernel - dr ...

  7. Java Objects工具类重点方法使用

    Objects工具类 jdk 1.7引进的工具类,都是静态调用的方法,jdk 1.8新增了部分方法 重点方法 equals 用于字符串和包装对象的比较,先比较内存地址,再比较值 deepEquals ...

  8. SpringBoot配置Jackson处理字段

    常用框架 阿里fastjson,谷歌gson等 JavaBean序列化为json 性能:Jackson>FastJson>Gson>lib 同个结构 Jackson.Fastjson ...

  9. java面试一日一题:垃圾回收器如何组合使用

    问题:请讲下java中垃圾回收器如何组合使用 分析:该问题主要考察对垃圾回收器的深度理解 回答要点: 主要从以下几点去考虑, 1.垃圾回收器有哪些种类,每种的特点 2.组合使用怎么理解 在上篇文章&l ...

  10. Linux podman容器实验

    要求 1.登录到指定的镜像仓库拉取镜像 2.以普通用户contsvc运行 3.配置 systemd-journald 服务,要求永久保留日志数据(物理机,创建文件mkdir /var/log/jour ...