读书人

Native2Ascii(调用Java自带工具进展u

发布时间: 2012-12-26 14:39:29 作者: rapoo

Native2Ascii(调用Java自带工具进行unicode和中文字符互转)
参考类似此文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;}}

读书人网 >编程

热点推荐