java中读取各种资料编码的文本文件并正确转码

java中读取各种文件编码的文本文件并正确转码

java读取文本文件经常会出现乱码的情况,我们主要是用下面的两个方法来实现转码:

1:new String("").getBytes("charSetName");

2:new String(bytes,"charSetName");

具体可参考如下代码:

package com.xue.tools;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;

public class Test1 {
	public static void main(String[] args) throws IOException {
		File file = new File("htmlTemplete/Index.html");
		FileInputStream fileInputStream=new FileInputStream(file);
		byte[] b=new byte[1024];
		byte[] B=new byte[0];
		int read =-1; 
		while ((read=fileInputStream.read(b))>-1) {
			int i=B.length;
			B=Arrays.copyOf(B, B.length+read);
			for(int j=0;j<read;j++){
				B[i+j]=b[j];
			}
		}
		
		System.out.println(new String(B,"UTF-16"));
	}
}