Eclipse修改编码后乱码解决
Eclipse用了一段时间,都是用的gbk编码的,突然想要规范下,强迫症犯了,于是将在Window->Preference->Appearances->Workspace修改Text file encoding为UFT-8,一点击确认,Oh,My God!中文都乱码了,一开始想的是用记事本将文件一个一个的另存为UTF-8格式,累死了,发现工程量太大,放弃了,转战代码,下面是可实现的代码,支持批量处理(即处理一个文件夹内的所有代码),不支持文件夹下还有文件夹的情况!代码如下:
package com.tfj.demo; import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter; /**
* @function 将批量的gbk的乱码文件转换到utf8
* 将gbk的代码放到srcDir之下,转码置destDir之下,不支持srcDir之下有目录,srcDir目录与destDir目录不能一样
* @author Jacksile E-mail:tufujietec@foxmail.com
* @date 2016年1月16日 下午3:02:07
*/
public class UTF8Parser { static File srcDir = new File("E:\\eclipse2\\studyall\\src\\com\\tfj\\algorithm"); // 待转码的GBK格式文件夹
static File destDir = new File("E:\\eclipse\\studyall\\src\\com\\tfj\\algorithm"); // 转码成UTF8的目标文件夹 public static void main(String[] args) {
// 1.判断是目录
if (!srcDir.isDirectory()) {
return;
}
// 2.遍历所有目录
File[] fs = srcDir.listFiles(); // 创建目标目录
if (!destDir.exists()) {
destDir.mkdirs();
} try {
new UTF8Parser().parse(fs);
} catch (IOException e) {
e.printStackTrace();
}
} /**
* 目录就迭代遍历;文件就重编码
*/
private void parse(File[] fs) throws IOException {
for (File file : fs) {
if (!file.isDirectory()) {
File destFile = new File(destDir, file.getName());
parse2UTF_8(file, destFile);
} else {
parse(file.listFiles());
}
}
} /**
*/
private void parse2UTF_8(File file, File destFile) throws IOException {
StringBuffer msg = new StringBuffer();
// 读写对象
PrintWriter ps = new PrintWriter(new OutputStreamWriter(new FileOutputStream(destFile,
false), "utf8"));
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),
"gbk")); // 读写动作
String line = br.readLine();
while (line != null) {
msg.append(line).append("\r\n");
line = br.readLine();
}
ps.write(msg.toString());
br.close();
ps.flush();
ps.close();
} }
代码中修改文件夹名,运行,从转换到的文件夹复制所有文件到原来文件夹,代码中修改文件夹名。。。反反复复这三步,发现我的文件夹也太多了,这样也会累个半死,于是只能转战转换工具,网上搜索:gbk转utf-8软件,一大堆工具,很多都是支持批量处理,打开工具,选择一个文件夹(这下可以是任意的,没有限制,上面代码还限制文件夹中不能存在文件夹),轻轻松松转换,这下,编码问题彻底解决。唯一遗憾的是这样大批量处理会导致原先是utf-8的文件出现错误,所以建议批量处理时文件夹在最大化的情况下避免存在已经是utf-8的文件,否则适当缩小文件夹包含范围。
Eclipse修改编码后乱码解决的更多相关文章
- windows 控制台cmd乱码(及永久修改编码)的解决办法
注册 windows 控制台cmd乱码(及永久修改编码)的解决办法 转载 2017年11月02日 22:49:52 1067 windows 控制台cmd乱码的解决办法 我本机的系统环境: OS Na ...
- vim 编辑 windows下的文本时出现乱码, 修改配置后 已解决
最近用VIM 查看一个 WINDOWS下的文本,打开以后发现出现乱码,具体如上图. 最后在网上找到了一个解决方法: 原文地址: https://www.zhihu.com/question/22363 ...
- eclipse 修改编码
在Eclipse的开发使用中,我们经常使用的是UTF-8,但是刚刚安装的或者是导入的项目是其他编码的默认是GBK的,这就造成我们的项目乱码,一些中文解析无法查看,对我们的开发造成不便. 工具/原料 E ...
- 在eclipse中输入.后提示解决
1.调用系统自带的提示: 如果在eclipse中输入.后没有提示对应对象的属性和方法帮助列表,可以进行以下设置就可以了 eclipse -> Window-> Preferences-&g ...
- eclipse修改代码后都需要clean的解决办法
问题描述: 用STS(类似于Eclipse)正在开发一个JavaWeb项目,但不知怎么的有一天,修改完Java代码,点击运行Tomcat,发现根本没有修改.刚刚开始的时候,因为一开始没找到原因而且工期 ...
- 解决Eclipse引用项目后乱码问题
1.将General-Workspace-Text file encoding 设置成UTF-82.导入项目,如果文件乱码,点文件右键Properties-Resource-Text file enc ...
- eclipse 修改代码后无法生效,需要clean后才能生效的解决办法
勾选project-->Bulid Automatically选项(自动编译)
- Eclipse 修改编码方式
1.修改全局(Eclipse默认)文本编码方式 2.修改某个工程编码方式 右键工程点击”属性“后,如下图
- Eclipse修改编码方式
1.修改工作空间默认编码 1.修改工作空间默认编码:window -> preferences -> General -> Workspace 2.修改文件的编码 在Eclipse ...
随机推荐
- 斐波那契数 c 语言实现
斐波那契数列,又称黄金数列,指的是这样一个数列:1.1.2.3.5.8.13.21.……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2) ...
- WPF多线程演示
WPF中的几种处理线程的工作方式: 1.简单的DispatcherTimer类似Timer控件 2.需要处理UI同步时,Dispatcher DispatcherOpertion 3.增强的Threa ...
- oracle行转列、列转行
一.行转列 需要将如下格式 转换为: 这就是最常见的行转列,主要原理是利用decode函数.聚集函数(sum),结合group by分组实现的 create table test( id varcha ...
- EXTJS 4.2 资料 控件之checkboxgroup的用法(静态数据)
1.页面 1.1点击‘横幅’,需要动态显示隐藏文本框 { xtype: 'fieldset', title: '指定附加图&横幅设置', collapsible: true, items: [ ...
- TWaver3D入门探索——3D拓扑图之绽放的小球花
这样一簇绚烂丰满艳丽多姿的3D小球花,要多少代码才能完成?其实不足百行,您信吗?下面咱就看一下具体实现过程,让您分分钟学会用TWaver HTML5制作3D拓扑图. 搭建3D空间 首先为花簇的绽放建一 ...
- 演示demo开发问题及解决方案集锦
模型处理问题: 1. 3Dmax模型导入Unity单位设置: 自定义->单位设置->系统单位设置与显示单位比例都调成厘米 2. 3Dmax中材质贴图: 点击材质编辑器[在模式下可以选择精简 ...
- Jplayer(转)
Jplayer必须要加载 1.样式 jplayer.blue.monday.css 2.jq jquery.1.6.2.min.js 当前最新版本为1.6.2 3.jplayer的js jquery ...
- GodSon Easyui 结合Pluplaod插件的文件分割上传
自己整理了一个文件分割上传的实例,提供研究学习使用. 在线查看效果 下载该资源pluplaod文件分割上传Demo.zip 简介: 首先,进入页面会看到下面的效果: 点击一个按钮,出现如图 ...
- 1057: [ZJOI2007]棋盘制作 - BZOJ
Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴 ...
- 5.5 准备创建bean
5.5 准备创建bean 我们不可能指望在一个函数中完成一个复杂的逻辑,而且我们跟踪了这么多Spring代码,经历了这么多函数,或多或少也发现了一些规律:一个真正干活的函数其实是以do开头的,比如d ...