`

Java源代码转码

    博客分类:
  • JDK
 
阅读更多
现在中国的项目很多,编码无非是UTF-8,GBK,GB2312,到是没见过ISO8859-1的,可能国外项目会使用吧,在中国还是使用中文注释的比较多.

也许你没有经历过开发中两个项目使用不同的编码,也可能你在开发的时候使用UTF-8,而合作方的编码使用的是GBK,也可能是自己在开发第一个项目的时候使用的是GBK,开发第二个项目的时候设置成了UTF-8,转码就是件费时费力的事情,写了个小工具,可以批量转一个目录下的全部Java文件编码,代码如下:
package org.frame.build;

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

import org.apache.commons.io.IOUtils;

/**
 * change file encoding with package
 *
 * @author ycl
 * @version 1.0 2012-12-20 下午4:01:50
 * @since 1.0
 *
 */
public class EncodingUtil {
	public static void main(String[] args) throws IOException {
		EncodingUtil e = new EncodingUtil();
		File file = new File("E:\\frame\\trunk\\build\\src\\main\\java\\org\\frame\\build"); 
		e.encoding(file);
		e.delete(file);
		e.rename(file);
		
	}

	/**
	 * encoding old file to new file
	 * 
	 * @param path
	 * @throws IOException
	 */
	public  void encoding(File path) throws IOException{ 
		if(path.isDirectory()){
			File files[] = path.listFiles();
			for(File file:files){
				encoding(file);
			} 
		}else if(path.isFile()){
			File file = new File(path.getAbsoluteFile()+".java");  
			Reader reader = null;
			Writer writer = null;
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(path),"UTF-8"));
			writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"GBK"));
			IOUtils.copy(reader, writer);
			if (reader != null) {
				reader.close();
			}
			if (writer != null) {
				writer.close();
			}
		}
	}
	
	/**
	 * delete old file
	 * @param path
	 */
	public void delete(File path){
		if(path.isDirectory()){
			File files[] = path.listFiles();
			for(File file:files){
				delete(file);
			} 
		}else if(path.isFile()){
			String name = path.getName();
			if(!name.endsWith(".java.java")){
				path.delete();
			}
		}
	}
	
	/**
	 * rename new file
	 * @param path
	 */
	public void rename(File path){
		if(path.isDirectory()){
			File files[] = path.listFiles();
			for(File file:files){
				rename(file);
			} 
		}else if(path.isFile()){
			String name = path.getName();
			if(name.endsWith(".java.java")){
				path.renameTo(new File(path.getParent(),path.getName().substring(0,path.getName().length()-5))); 
			}
		}
	}
}



让自己的代码更国际化,就把GBK全转为UTF-8,并检查没有乱码
分享到:
评论

相关推荐

    阿里云视频转码java代码

    下面将详细介绍如何使用Java代码进行视频转码,并探讨相关的技术要点。 首先,要进行视频转码,你需要在阿里云上创建一个Media Processing Service(MPS,媒体处理服务)实例,该服务提供了丰富的视频处理功能,...

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

    标题提到的“批量将Java源代码文件的编码从GBK转为UTF-8”是一个常见的需求,因为GBK编码是中国大陆广泛使用的编码方式,但它并不兼容Unicode,而UTF-8编码则是一种更通用的Unicode实现,能兼容多种语言字符。...

    基于Java的RTSP服务源代码

    在这个"基于Java的RTSP服务源代码"中,我们主要关注的是如何利用Java实现RTSP(Real-Time Streaming Protocol)服务,这是一种用于控制实时媒体流传输的协议。RTSP常用于流式音频和视频,比如在线直播或者vod(视频...

    java转码代码

    在这个场景下,"java转码代码"指的是用于解决Java程序中遇到的乱码问题的代码段,而"ISOtoGbk.java"可能是一个源代码文件,专门用于将遵循ISO-8859-1编码的字符转换为GBK编码。 GBK是中文环境下广泛使用的字符编码...

    java播放器源代码

    Java播放器源代码是用于开发Java应用程序,能够解析和播放各种多媒体文件的代码实现。Java作为一种跨平台的编程语言,其播放器源码通常基于Java Media Framework (JMF) 或者更加现代的开源库,如VLCJ或Xuggler。这些...

    使用 Java 对 Linux 下文件编码格式进行批量转换源代码

    打开 /home/defonds/tmp/test2 文件夹,发现有新文件 test0.java,test1.java,test2.java 生成,查看其编码格式,是为 UTF-8,证明转码成功。 4。使用本工具可以对 Linux 下文件的字符集编码格式进行批量转换。只需...

    最新的FFmpeg源代码

    这个"最新的FFmpeg源代码"提供了一个宝贵的资源,让开发者能够深入理解FFmpeg的工作原理,并且可以根据自己的需求进行定制化开发。 FFmpeg的核心功能包括: 1. 视频编码与解码:FFmpeg支持大量的视频编码格式,如H...

    native2ascii.exe java的转码工具

    它是一个用于转换ASCII和Unicode编码之间格式的实用程序,帮助开发者在Java源代码中正确地表示非ASCII字符。 一、native2ascii.exe的用途 1. ASCII转Unicode:将包含非ASCII字符的文本文件转换为Java源代码中可读...

    java 音乐播放器包含源代码

    Java音乐播放器是一种基于Java编程语言开发的软件,它能够解析和播放音频文件。这个播放器需要JMF(Java Media Framework)插件的支持,JMF是Sun Microsystems开发的一个开源框架,用于处理各种多媒体数据,包括音频...

    java视频转码

    5. **Transcode.java**: 这个文件很可能是包含具体转码逻辑的Java源代码。在实际应用中,开发者会在这个类中编写代码,指定输入视频文件、输出格式、转码参数等,然后调用Jave-1.0.2.jar提供的API进行转码操作。 在...

    使用eclipse插件批量将Java源代码文件的编码从GBK(或其他编码)转为UTF-8

    在软件开发过程中,编码格式是一大关键因素,尤其是在处理包含中文字符的Java源代码时。GBK和UTF-8是两种常见的字符编码标准,GBK主要在中国大陆使用,支持大部分中文字符,而UTF-8是一种国际通用的编码,可以涵盖...

    java用ffmpeg实现MP4转ogg源代码技术方案资料

    在Java中使用FFmpeg,通常会借助于Java的Runtime类或者第三方库如JAVE(Java Audio Video Encoder)来执行FFmpeg的命令行操作。 首先,确保你的系统中已经安装了FFmpeg。你可以从FFmpeg官方网站下载并按照平台指示...

    音频文件转码java开发,基于jave开源框架

    在Java开发中,音频文件转码是一项常见的任务,特别是在多媒体应用、音频处理或者网络音频传输等领域。本项目基于Jave开源框架,它提供了一个高效且易于使用的API来处理音频编码和解码工作。Jave(Java Audio Video ...

    Java 使用javaCV、ffmpeg拉流H265 RTSP转推H264 RTMP可获取流访问人数(源代码)

    2)、可选择使用javaCV推流、ffmpeg推流两种方式。 3)、javaCV仅支持拉去或推送H264压缩方式的流。 4)、ffmpeg采用命令的方式拉流和推流,支持H265和H264。 5)、支持获取流的访问数,可设置自动关闭0访问数的...

    java-1.0.2最新版 视频转码

    例如,有些开源许可证可能要求用户在使用软件时公开源代码,而商业许可证则可能限制这种行为。 Java视频转码的实现通常涉及以下关键技术点: 1. **多媒体编解码器**:转码的核心是编解码器,它们负责将视频和音频...

    jave2视频转码源码.zip

    这个压缩包"jave2视频转码源码.zip"包含了使用Jave2进行视频转码的相关源代码示例,可以帮助开发者理解和学习如何在Java中实现视频转码功能。以下是关于Java Jave2视频转码的一些关键知识点: 1. **Java Jave2库...

    纯java代码实现各种视频转flv格式,支持在线播放。

    本文将深入探讨如何使用纯Java代码实现视频转码至FLV(Flash Video)格式,并支持在线播放,而不依赖任何第三方库,从而确保高效、快速的转码过程。 首先,我们需要了解FLV格式。FLV是一种流行的网络流媒体格式,...

    bf2Java:基本的 BrainFuck 到 Java 源代码转换器

    **bf2Java: Brainfuck 到 Java 源代码转换器** `bf2Java` 是一个工具,它的主要功能是将 Brainfuck 语言编写的程序转换为可读性更强、功能更丰富的 Java 源代码。Brainfuck 是一种极简主义的编程语言,设计目的是...

    关于上传大附件的源代码

    在提供的`src`文件夹中,应该包含了实现这些功能的Java源代码。通过分析源代码,我们可以深入理解上述知识点的具体实现,包括文件流的读取、多部分请求的解析、服务器端的处理逻辑以及可能的用户反馈机制。这是一份...

Global site tag (gtag.js) - Google Analytics