java调用native2ascii.exe

命令行格式:
native2ascii.exe -[options] [inputfile [outputfile]]

其中:
  -[options]表示命令开关,有两个选项可供选择:
    -reverse:用Latin-1或Unicode编码把文件转换成本地编码格式
    -encoding encoding_name:要把文件转换的目标编码
  inputfile:表示输入文件全名。
  outputfile:输出文件名。如果缺少此参数,将输出到控



D:/jdk1.5.0_06/bin>native2ascii.exe -encoding utf8 abc.txt bcd.txt 
D:/jdk1.5.0_06/bin>native2ascii.exe -encoding GBK abc.txt bcd.txt

 java 自带的一个native2ascii.exe是一个很好的转码工具,在bin目录下。如果你的properties中有汉字,需要转成unicode . 则把含有汉字的properties拷贝到bin 目录下, 然后在cmd里面进入bin目录,输入:native2ascii -encoding  utf-8  Language-ext_zh_CN.properties.native Language-ext_zh_CN.properties就ok了。Language-ext_zh_CN.properties是转码后的文件。 但每次要把properties文件拷来拷去挺麻烦的,索性写了个java文件调用native2ascii.exe:

import java.io.IOException;

public class Native2ascii {

 private static final String java_path = "E://jdk1.5.0_12";
 private static final String target_file = "E://Projects//liferay//extproject//ext-impl//classes//content//Language-ext_zh_CN.properties.native";
 private static final String result_file = "E://Projects//liferay//extproject//ext-impl//classes//content//Language-ext_zh_CN.properties";
 private static final String encoding = "utf-8";
 
 public static void native2ascii()
 {
  try {
   System.out.println("Begin to execute...");
   Runtime.getRuntime().exec(java_path+"//bin//native2ascii.exe -encoding "+encoding+" "+target_file+" "+result_file);
   System.out.println("End");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 public static void main(String arg[]){
  native2ascii();
 }
}

命令行格式:
native2ascii.exe -[options] [inputfile [outputfile]]

其中:
  -[options]表示命令开关,有两个选项可供选择:
    -reverse:用Latin-1或Unicode编码把文件转换成本地编码格式
    -encoding encoding_name:要把文件转换的目标编码
  inputfile:表示输入文件全名。
  outputfile:输出文件名。如果缺少此参数,将输出到控



D:/jdk1.5.0_06/bin>native2ascii.exe -encoding utf8 abc.txt bcd.txt 
D:/jdk1.5.0_06/bin>native2ascii.exe -encoding GBK abc.txt bcd.txt

猜你喜欢

转载自blueskator.iteye.com/blog/1415083