`

Native2Ascii(调用Java自带工具进行unicode和中文字符互转)

    博客分类:
  • java
阅读更多
参考类似此文http://tiger-hu.iteye.com/blog/848742
【引用修改自此文】http://www.cnblogs.com/pencilsoft/archive/2009/04/16/1436872.html
主要思想其实就是第一篇参考文章以及Java调用Java自带bin文件夹下面的工具exe方法
public class Native2Ascii {
	private static String java_bin_path = "D:\\Java\\jdk1.6.0_10\\bin";// 存放中文的文本文件
	private static String source_file = "E:\\src.txt";
	private static String result_file="E:\\result.txt";
	
	public static void main(String[] args) {
		String result = fromUnicode(source_file,result_file,"gbk");
		System.out.println(result);
	}

	public static String toUnicode(String destFileName,String result_file) {
		StringBuffer tempSb = new StringBuffer();
		try {
			Process p = Runtime.getRuntime().exec(
					java_bin_path + "\\native2ascii.exe " + destFileName+" "+result_file);
			InputStreamReader child_in = new InputStreamReader(p
					.getInputStream());
			int c;
			while ((c = child_in.read()) != -1) {
				tempSb.append((char) c);
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException ex) {
			ex.printStackTrace();
		}

		return tempSb.toString();
	}
	public static String fromUnicode(String destFileName,String result_file,String decode) {
		StringBuffer tempSb = new StringBuffer();
		try {
			Process p = Runtime.getRuntime().exec(
					java_bin_path + "\\native2ascii.exe -reverse -encoding " +decode+" "+ destFileName+" "+result_file);
			InputStreamReader child_in = new InputStreamReader(p
					.getInputStream());
			int c;
			while ((c = child_in.read()) != -1) {
				tempSb.append((char) c);
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException ex) {
			ex.printStackTrace();
		}
		
		return tempSb.toString();
	}
	
	public static String getJava_bin_path() {
		return java_bin_path;
	}

	public static void setJava_bin_path(String java_bin_path) {
		Native2Ascii.java_bin_path = java_bin_path;
	}
	public static String getSource_file() {
		return source_file;
	}

	public static void setSource_file(String source_file) {
		Native2Ascii.source_file = source_file;
	}

	public static String getResult_file() {
		return result_file;
	}

	public static void setResult_file(String result_file) {
		Native2Ascii.result_file = result_file;
	}	
}
分享到:
评论

相关推荐

    CodeConverter v1.0┊CodeConverter(Java)_Full.zip

    •CodeConverter(Java)_Lite.zip----------调用java自带的工具native2ascii.exe进行Unicode转换,该版本不带带jre,需要用户机器上装有jre或者jdk并且配置好JAVA_HOME才能正常使用Unicode转换功能。否则涉及Unicode...

    CodeConverter v1.0┊CodeConverter(Java)_Lite.zip

    •CodeConverter(Java)_Lite.zip----------调用java自带的工具native2ascii.exe进行Unicode转换,该版本不带带jre,需要用户机器上装有jre或者jdk并且配置好JAVA_HOME才能正常使用Unicode转换功能。否则涉及Unicode...

    CodeConverter v1.0┊码制转换器┊CodeConverter(VB)_Full.zip

    •CodeConverter(Java)_Lite.zip----------调用java自带的工具native2ascii.exe进行Unicode转换,该版本不带带jre,需要用户机器上装有jre或者jdk并且配置好JAVA_HOME才能正常使用Unicode转换功能。否则涉及Unicode...

    windows驱动开发技术详解-part2

     6.1.1 ASCII字符串和宽字符串  6.1.2 ANSI_STRING字符串与UNICODE_STRING字符串  6.1.3 字符初始化与销毁  6.1.4 字符串复制  6.1.5 字符串比较  6.1.6 字符串转化成大写  6.1.7 字符串与整型数字相互...

    Windows驱动开发技术详解的光盘-part1

     6.1.1 ASCII字符串和宽字符串  6.1.2 ANSI_STRING字符串与UNICODE_STRING字符串  6.1.3 字符初始化与销毁  6.1.4 字符串复制  6.1.5 字符串比较  6.1.6 字符串转化成大写  6.1.7 字符串与整型数字相互...

    精通Windows.API-函数、接口、编程实例.pdf

    2.4.2 Unicode与ASCII的转换 24 2.5 对Windows程序设计规范的建议 25 第3章 开发工具配置与使用 26 3.1 使用Visual C/C++编译链接工具 26 3.1.1 编译器cl.exe 27 3.1.2 资源编译器rc.exe 31 3.1.3 链接...

    精通WindowsAPI 函数 接口 编程实例

    2.4.2 Unicode与ASCII的转换 24 2.5 对Windows程序设计规范的建议 25 第3章 开发工具配置与使用 26 3.1 使用Visual C/C++编译链接工具 26 3.1.1 编译器cl.exe 27 3.1.2 资源编译器rc.exe 31 3.1.3 ...

Global site tag (gtag.js) - Google Analytics