`
xiaosheng12345
  • 浏览: 13178 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

gbk转utf-8批量转换

 
阅读更多

最近导了一份项目,是gbk的,但我工作空间里其他项目都是utf-8,改来改去十分麻烦,网上找了个改编码的小java程序,小改了一下,只转换java文件. 需要commons-io.jar ,附件里已有,项目自行加上即可.

import java.io.BufferedReader;
import java.io.BufferedWriter;
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;

public class FileUtils extends org.apache.commons.io.FileUtils {

	private static final String ENCODE_GBK = "GBK";
	private static final String ENCODE_UTF8 = "UTF-8";

	public static void convertGBK2UTF8(File file) {
		convertFileEncode(file, ENCODE_GBK, ENCODE_UTF8);
	}

	public static void convertUTF82GBK(File file) {
		convertFileEncode(file, ENCODE_UTF8, ENCODE_GBK);
	}

	public static void convertFileEncode(File file, String fromEncode,String toEncode) {
		try {
			String str = readFileToString(file, fromEncode);
			writeStringToFile(file, str, toEncode);
		} catch (IOException e) {
			System.out.println("Convert failed. File not exsit?");
			e.printStackTrace();
		}
	}

	public static String readFile(String filePath, String encode) {
		String fileContent = "";
		try {
			FileInputStream fis = new FileInputStream(filePath);
			InputStreamReader isr = new InputStreamReader(fis, encode);
			BufferedReader br = new BufferedReader(isr);
			StringBuffer sb = new StringBuffer();
			for (String line = br.readLine(); line != null; line = br
					.readLine()) {
				sb.append(line);
			}
			fileContent = sb.toString();
			br.close();
			isr.close();
			fis.close();
		} catch (FileNotFoundException e) {
			System.out.println("File not exist:" + filePath);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return fileContent;
	}

	public static String saveFile(String fileContent, String encode,
			String savePath) {
		try {
			FileOutputStream fos = new FileOutputStream(savePath);
			OutputStreamWriter osw = new OutputStreamWriter(fos, encode);
			BufferedWriter bw = new BufferedWriter(osw);

			bw.write(fileContent);
			bw.close();
			osw.close();
			fos.close();
		} catch (FileNotFoundException e) {
			System.out.println("File not exist:" + savePath);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return fileContent;
	}

	public static synchronized void convertDirectory(File dir)
			throws IOException {
		if (!dir.exists() && !dir.isDirectory()) {
			throw new IOException("[" + dir + "] not exsit or not a Directory");
		}
		convert(dir);
	}

	public static void convert(File dir) {
		if (dir.canRead() && dir.canWrite()) {
			if (dir.isDirectory()) {// Directory
				String[] files = dir.list();
				if (files != null) {
					for (int i = 0; i < files.length; i++) {
						convert(new File(dir, files[i]));// 递归
					}
				}
			} else {// File
				if(dir.getName().endsWith(".java")){
					System.out.println(dir.getName());
					//需要配置一下转换格式  谁转谁 
					convertGBK2UTF8(dir); //gbk转为utf-8
					//convertUTF82GBK(dir);// utf-8 转为gbk
				}
			}
		}
	}

	public static void main(String[] args) throws IOException {

		long t1 = System.currentTimeMillis();
		File src = new File("D:\\Eclipse_studio_4.3.1\\workspace\\kq");
		// 注意98行 需要选择一下
		convertDirectory(src);
		long t2 = System.currentTimeMillis();
		System.out.println("转换完成,用时:" + (t2 - t1) / 1000);
	}

}

 

分享到:
评论

相关推荐

    GBK、UTF-8编码转换工具

    GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...

    批量转 GBK 转 UTF-8 gb2312 Iso-8959-1 转 UTF-8

    在标题和描述中提到的“批量转 GBK 转 UTF-8”、“gb2312 转 UTF-8”以及“Iso-8859-1 转 UTF-8”是指将使用这些编码格式的文件转换成UTF-8编码。这是因为UTF-8具有广泛的兼容性和通用性,许多系统和软件默认使用UTF...

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

    老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息会出现乱码。所以写了个小的方法类,将java文件的编码格式从GBK转UTF-8

    批量文件转码工具(支持 GBK,UTF-8 转换)

    在这个场景中,我们讨论的是一个专门用于批量转换的工具,它支持GBK和UTF-8这两种常见的字符编码格式。 GBK编码是GB2312编码的扩展,主要在中国大陆广泛使用,涵盖了大部分简体中文字符。UTF-8则是一种国际通用的...

    转码工具gbk转utf-8,支持批量

    "GB2UTF8.exe"很可能是一个专门用于GBK到UTF-8转换的命令行工具,它可能接受文件或目录作为参数,然后批量转换其中的所有GBK编码文件为UTF-8编码。这样的工具对于处理大量文本文件的项目尤其有用,可以极大地提高...

    gbk转Utf8_编码转换_firegbi_GBK转UTF-8_

    在本文中,我们将深入探讨GBK和UTF-8的区别,以及如何使用Python进行编码转换,特别关注如何将GBK编码的文件转换为UTF-8编码。 首先,GBK是GB2312编码的升级版,它是针对简体中文的一种字库编码,主要在中国大陆...

    Eclipse项目的GBK编码转为UTF-8插件

    这个插件可以快速地将整个Eclipse项目中的GBK编码文件批量转换为UTF-8编码,无需手动操作。使用该插件,用户只需在Eclipse中安装并激活插件,然后选择需要转换的项目,即可一键完成转换过程,大大提高了工作效率。 ...

    GBK转UTF-8

    描述中的"GBK转UTF-8工具,支持java工程批量转换"表明存在一款工具,可以一次性处理多个Java工程文件,将它们从GBK转换为UTF-8编码。 `GB2UTF8.exe`很可能是这个转换工具的可执行文件,用户可以直接运行它来启动...

    eclipse中class乱码GBK-UTF-8转换工具

    然而,当涉及到字符编码时,如GBK和UTF-8之间的转换,可能会遇到乱码问题。这篇博客文章“eclipse中class乱码GBK-UTF-8转换工具”正是为了解决这个问题。 GBK是GB2312的扩展,包含了更多的汉字和其他字符,主要在...

    批量文本编码格式转换,支持gbk和utf-8

    自制软件,文本批量格式转换,将ansi(即gbk)与utf-8相互转换,自己编写用来在浏览器上读txt小说时,避免乱码用的,共享出来方便大家使用,支持gbk和utf-8。

    UTF-8转ANSI文本文件转换器

    "UTF-8转ANSI文本文件转换器"就是这样一个工具,它能够帮助用户批量将UTF-8编码的文本文件转换为ANSI编码的文本文件。在此,我们将深入探讨UTF-8和ANSI编码的原理以及转换过程中涉及的关键知识点。 **一、UTF-8编码...

    gbk网页模板转utf-8的绿色小工具

    标题“gbk网页模板转utf-8的绿色小工具”所涉及的知识点主要在于网页模板的字符编码转换。GBK到UTF-8的转换通常是为了使网页在全球范围内具有更好的兼容性和显示一致性,因为UTF-8被更多浏览器和服务器支持,尤其是...

    GBK批量转utf8(支持整个目录)

    GBK和UTF-8是两种常见的字符编码格式,它们各有特点和适用场景。 GBK编码是中国大陆广泛使用的编码标准,它是GB2312编码的扩展,包含了更多的汉字和其他语言字符,能够覆盖大部分中文字符集。GBK采用双字节编码,...

    批量文件转码工具(支持GBK,UTF-8转换)

    在提供的压缩包文件“批量文件转码工具”中,我们可以期待找到一个能够帮助我们方便快捷地处理GBK和UTF-8编码转换问题的实用工具。这个工具可能包括了选择文件、设置目标编码、开始转换等一系列功能,并且已经有人...

    RedUTF8将GBK代码快速批量转换为UTF-8的工具

    Red UTF-8 将GBK代码快速批量转换为UTF-8的工具使用本软件可一次性将整站默认代码(GBK及所有默认代码)转换为UTF-8 目前有很多网友需要UTF-8的程序,很多网友想把GBK代码或默认的任何代码想转为UTF-8大多都是手工...

    eclispe GBK转UTF-8乱码解决

    总的来说,解决Eclipse中GBK转UTF-8乱码问题的关键在于正确设置工作空间、项目、源代码和资源文件的编码,并且适时使用辅助工具进行批量转换。通过这些方法,可以避免编码不一致导致的乱码问题,提高开发效率。在...

    GBK/BIG/UTF-8 批量文件编码转换

    标题"GBK/BIG/UTF-8 批量文件编码转换"所涉及的核心知识点是字符编码标准,包括GBK、BIG和UTF-8,以及批量转换的方法。让我们深入探讨这些概念。 1. **GBK编码**:GBK是中国大陆广泛使用的汉字编码标准,它是GB2312...

    简单的UTF-8与GBK之间相互转码工具

    这个名为`encoding_p.java`的Java源代码文件,应该包含了一个简单的类或函数,用于实现文件从GBK到UTF-8,以及从UTF-8到GBK的转换。在Java中,我们可以使用`java.nio.charset`包中的`Charset`和`CharsetDecoder`、`...

    汉字编码转换工具gbk2utf-8

    1. 文件转换:能够批量转换文件中的编码,如将GBK编码的文本文件转换为UTF-8编码,或者反之。 2. 粘贴板转换:用户可以复制含有特定编码的文字,然后通过工具将其转换为另一种编码,方便在不同编码环境下复制粘贴...

Global site tag (gtag.js) - Google Analytics