java字節流對漢字輸出爲亂碼的問題

java字節流對漢字輸出爲亂碼的問題

2011-10-27 21:10
提問者: zhzengyuan | 瀏覽次數:274次
package IoOut;
import java.io.*;
public class App14_1 
{
	public static void main(String args[]) throws IOException    //read()方法拋出IOException異常,在此交給JVM處理
	{
	     FileInputStream fr =new FileInputStream("c:\\aaa.txt");    //ok,但不能正   確讀取出漢字 
	int ch;
		int count=0;
		ch=fr.read();    //read()方法返回的是一個整型數字
		while(ch!=-1)
		{
	                 System.out.print((char)ch);
			ch=fr.read();
			count++;
		}
		
		fr.close();
		
		System.out.println("\n共讀取了:"+count+"個字符");
	}
}
在aaa.txt中有漢字,但輸出爲亂碼,字符輸出正常,爲什麼?
首先確認你的字符編碼,gbk編碼中文是2個字節,utf編碼是3個字節代表一個字符
read讀到的是一個節,一箇中文,當然就讀半個字節了,不完全當然是亂碼了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章