首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

自个儿封装的一个编码转换工具类

2012-11-17 
自己封装的一个编码转换工具类java做编码转换有两中方法1.基于流的编码转换import java.io.ByteArrayInput

自己封装的一个编码转换工具类

java做编码转换有两中方法

1.基于流的编码转换

import java.io.ByteArrayInputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;public class EncodingConverter {public static final String UTF_8 = "UTF-8";public static InputStream converter(InputStream is, String srcEnc, String tarEnc)throws IOException {// builder a reader using source encodingReader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayInputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes(tarEnc));return tarIs;}public static InputStream converterToUTF(InputStream is, String srcEnc)throws IOException {// builder a reader using source encodingReader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayInputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes("utf-8"));return tarIs;}public static byte[] converterToByteArray(InputStream is, String srcEnc, String tarEnc)throws IOException {// builder a reader using source encodingReader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayreturn sb.toString().getBytes(tarEnc);}public static byte[] converterToUTFByteArray(InputStream is, String srcEnc)throws IOException {// builder a reader using source encodingReader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayreturn sb.toString().getBytes("utf-8");}public static String converterToString(InputStream is, String srcEnc, String tarEnc)throws IOException {// builder a reader using source encodingReader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();return sb.toString();}public static String converterToUTFString(InputStream is, String srcEnc)throws IOException {// builder a reader using source encodingReader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();return sb.toString();}public static InputStream converter(byte[] bytes, String srcEnc, String tarEnc)throws IOException {// builder a reader using source encodingInputStream is = new ByteArrayInputStream(bytes);Reader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayInputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes(tarEnc));return tarIs;}public static InputStream converterToUTF(byte[] bytes, String srcEnc)throws IOException {// builder a reader using source encodingInputStream is = new ByteArrayInputStream(bytes);Reader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayInputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes("utf-8"));return tarIs;}public static byte[] converterToByteArray(byte[] bytes, String srcEnc, String tarEnc)throws IOException {// builder a reader using source encodingInputStream is = new ByteArrayInputStream(bytes);Reader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayreturn sb.toString().getBytes(tarEnc);}public static byte[] converterToUTFByteArray(byte[] bytes, String srcEnc)throws IOException {// builder a reader using source encodingInputStream is = new ByteArrayInputStream(bytes);Reader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();// get byte arrayreturn sb.toString().getBytes("utf-8");}public static String converterToString(byte[] bytes, String srcEnc, String tarEnc)throws IOException {// builder a reader using source encodingInputStream is = new ByteArrayInputStream(bytes);Reader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();return sb.toString();}public static String converterToUTFString(byte[] bytes, String srcEnc)throws IOException {// builder a reader using source encodingInputStream is = new ByteArrayInputStream(bytes);Reader reader = new InputStreamReader(is, srcEnc);StringBuilder sb = new StringBuilder();// read contentint c;while ((c = reader.read()) != -1) {sb.append((char) c);}reader.close();return sb.toString();}public static void main(String[] args) throws IOException {InputStream is = new FileInputStream("G:/out.txt");is = converter(is, "utf-8", "gbk");Reader isr = new InputStreamReader(is, "gbk");StringBuilder sb = new StringBuilder();int c;while ((c = isr.read()) != -1) {sb.append((char) c);}is.close();System.out.println(sb.toString());}}
? 1 楼 tutu1982 2009-05-02   。。。。。。。。。。。

热点排行