`

EncodeChange Util

阅读更多

package zhch.illq.util;

import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.apache.commons.io.FileUtils;

/**
 * @author 
 * @version 1.0
 * @since 1.0
 */

public class EncodeChange {

	public void change(String srcDir) throws IOException {
		change(srcDir, "gbk", "utf-8", null);
	}

	public void change(String srcDir, String filetype) throws IOException {
		change(srcDir, "gbk", "utf-8", filetype);
	}

	public void change(String srcDir, String fromEncoding, String toEncoding) throws IOException {

		File src = new File(srcDir);
		change(src, fromEncoding, toEncoding, null);
	}

	public void change(String srcDir, String fromEncoding, String toEncoding, String filetype) throws IOException {

		File src = new File(srcDir);
		change(src, fromEncoding, toEncoding, filetype);
	}

	public void change(File src, String fromEncoding, String toEncoding, String filetype) throws IOException {
		if (src.isFile()) {
			changeFile(fromEncoding, toEncoding, filetype, src);
			return;
		}
		File[] files = src.listFiles();
		for (File file : files) {
			if (file.isFile()) {
				changeFile(fromEncoding, toEncoding, filetype, file);
			} else if (file.isDirectory()) {
				change(file, fromEncoding, toEncoding, filetype);
			}
		}
	}

	/**
	 * 
	 * @param fromEncoding
	 * @param toEncoding
	 * @param filetype
	 * @param file
	 * @throws IOException
	 */
	private void changeFile(String fromEncoding, String toEncoding, String filetype, File file) throws IOException {

		String filename = file.getName();
		String type = "";
		if (filename.indexOf('.') != -1) {
			type = filename.substring(filename.lastIndexOf('.') + 1);
		}
		if (filetype == null || filetype.equals(type)) {

			String content = FileUtils.readFileToString(file, fromEncoding);
			FileUtils.writeStringToFile(file, content, toEncoding);
		}

	}

	public void changeCode(String str, String codeFrom, String codeTo) throws UnsupportedEncodingException {
		System.out.println(new String(str.getBytes(codeFrom), codeTo));
	}

	/**
	 * 
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		EncodeChange ec = new EncodeChange();
		// ec.change("d:\\temp\\javac\\");
		ec.change("d:\\workspace\\AloneLogin", "java");
		System.out.println("o le=");
	}

}

分享到:
评论

相关推荐

    asm-util.jar

    asm-util-1.3.4.jar, asm-util-1.3.5.jar, asm-util-1.4.1.jar, asm-util-1.4.3.jar, asm-util-1.5.1.jar, asm-util-1.5.2.jar, asm-util-1.5.3.jar, asm-util-2.0.jar, asm-util-2.1.jar, asm-util-2.2.1-sources....

    util-linux-ng-2.17源码(含fdisk)

    util-linux-ng-2.17源码(含fdisk) Here is a list of all documented files with brief descriptions: util-linux-ng-2.17.2/disk-utils/blockdev.c [code] util-linux-ng-2.17.2/disk-utils/cramfs.h [code] ...

    ws-commons-util-1.0.2.zip_ws-comm-util.jar

    【标题】"ws-commons-util-1.0.2.zip_ws-comm-util.jar" 提供的是一个名为 ws-commons-util 的库的版本1.0.2,这个库经过压缩打包成ZIP格式,其中包含了 ws-comm-util.jar 文件。这个JAR文件是Java应用程序中常见的...

    Utiljs一些很实用的javaScript函数封装集合

    Util.js 是一个非常实用的JavaScript库,它封装了一系列常见的功能函数,旨在简化开发过程,提高代码的可复用性和效率。这个库涵盖了多种类别,包括处理数组、浏览器特性、日期操作、函数辅助、数学计算、媒体操作、...

    apr-util-1.5.4.tar.gz

    标题中的"apr-util-1.5.4.tar.gz"是一个开源软件库的归档文件,它属于Apache Portable Runtime (APR)项目的一部分。APR是一个为各种操作系统提供统一API的库,主要用于处理底层系统功能,如文件I/O、网络通信、进程...

    USB DFU-util烧写固件

    USB DFU-util是一种通用串行总线(USB)设备固件升级工具,广泛应用于嵌入式系统和微控制器的固件更新。它基于Device Firmware Upgrade(DFU)规范,该规范由USB Implementers Forum(USB-IF)定义,允许用户通过USB...

    util-linux源码

    《util-linux源码详解》 在Linux操作系统中,util-linux是一个极为重要的软件包,它包含了大量用于系统管理和维护的实用工具。此包以其丰富的功能和广泛的适用性,成为了Linux开发者和系统管理员不可或缺的工具集。...

    opentracing-util-0.33.0-API文档-中文版.zip

    赠送jar包:opentracing-util-0.33.0.jar 赠送原API文档:opentracing-util-0.33.0-javadoc.jar 赠送源代码:opentracing-util-0.33.0-sources.jar 包含翻译后的API文档:opentracing-util-0.33.0-javadoc-API...

    C语言头文件 UTIL C语言头文件 UTIL

    C语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言...

    apr-util linux 编译成功

    `apr-util`提供了许多实用程序,包括数据库接口、加密库支持、XML解析等功能,为开发跨平台的软件提供了一致且可靠的底层服务。 在编译`apr-util`的过程中,有几个关键的步骤和知识点需要了解: 1. **环境准备**:...

    Linux 中util-linux 工具包的源码

    在Linux操作系统中,`util-linux`工具包是一个不可或缺的部分,它包含了大量用于系统管理、文件操作和用户交互的命令行工具。源码分析对于开发者和系统管理员来说具有很高的价值,因为它允许他们理解这些命令的工作...

    util-linux-ng-util-linux-ng-2.17.2-12.24.el6_8.1.zip

    《util-linux-ng:Linux系统维护的核心工具》 util-linux-ng是一个在Linux系统中不可或缺的工具集,它包含了众多用于系统管理、磁盘处理和文件系统检查的重要程序。这个压缩包"util-linux-ng-util-linux-ng-2.17.2-...

    jetty-util-9.4.43.v20210629-API文档-中文版.zip

    赠送jar包:jetty-util-9.4.43.v20210629.jar; 赠送原API文档:jetty-util-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-util-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-util-9.4.43.v...

    backport-util-concurrent(2.2 /3.1)

    《backport-util-concurrent:Java并发编程的利器》 在Java的世界里,高效并发处理是提升应用程序性能的关键因素之一。backport-util-concurrent库,正如其名,是一种将Java 5及以上版本的并发特性“回移植”到Java...

    C#常用工具类代码集合Util(自己工作总结)

    "MJ.Util"、"MJ.Util.Extension"和"MJ.Util.Model"这三个文件名暗示了这个压缩包可能包含了C#中的实用工具类、扩展方法以及数据模型类。 1. **MJ.Util**: 这个命名很可能代表了一个包含各种通用功能的工具类库。...

    backport-util-concurrent.jar

    backport-util-concurrent.jarbackport-util-concurrent.jarbackport-util-concurrent.jar

    jetty-util-6.1.26-API文档-中英对照版.zip

    赠送jar包:jetty-util-6.1.26.jar; 赠送原API文档:jetty-util-6.1.26-javadoc.jar; 赠送源代码:jetty-util-6.1.26-sources.jar; 赠送Maven依赖信息文件:jetty-util-6.1.26.pom; 包含翻译后的API文档:jetty-...

    protobuf-java-util-3.1.0.jar

    protobuf-java-util-3.1.0.jar下载,配合protobuf3.1.jar的util包

    JacksonUtil及Jar包1.9

    JacksonUtil是基于Jackson库的一个工具类,用于简化JSON序列化和反序列化的操作。Jackson是Java领域中广泛使用的开源库,由FasterXML公司维护,主要用于处理JSON数据。它的核心功能包括将Java对象转换为JSON格式,...

Global site tag (gtag.js) - Google Analytics