亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于控制臺輸出的問題~~~

package?com.imooc.IOStreamReaderWriter;

import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.io.OutputStreamWriter;

public?class?IsrAndOswDemo?{

	public?static?void?main(String[]?args)?throws?IOException?{
		FileInputStream?in?=?new?FileInputStream(
				"H:\\Users\\MeRos\\Workspaces\\Projects\\測試文本文件(utf-8)\\src\\測試文件(utf-8).txt");
		InputStreamReader?isr?=?new?InputStreamReader(in);?//?默認的項目編碼
		FileOutputStream?out?=?new?FileOutputStream("字符流文本.txt");
		OutputStreamWriter?osw?=?new?OutputStreamWriter(out,"gbk");
		/*
		?*?int?c?;?while((c?=?isr.read())?!=?-1){?System.out.print((char)?c);?}
		?*/
		char[]?buffer?=?new?char[8?*?1024];
		int?c;
		//?批量讀取,放入buffer字符數組,從第0個位置開始,最多放buffer.length個
		//?返回的是讀到的字符的個數
		while?((c?=?isr.read(buffer,?0,?buffer.length))?!=?-1)?{
			String?s?=?new?String(buffer,?0,?c);
			System.out.print(s);
		}

		in.close();
		out.close();
		isr.close();
		osw.close();
	}

}

55f63e190001da6405000348.jpg

55f63e190001e2ae05000348.jpg

55f63e19000113cd05000214.jpg

我的文件是utf-8 的(存在新建的項目中也是utf-8),測試項目是gbk的,可是輸出控制臺之后怎么不會發生亂碼呢.????

正在回答

1 回答

因為你while循環里將字符數組轉換為String類型時,會自動添上項目默認編碼(你的是utf-8),只要文本文件的編碼和你輸入流的編碼一樣,控制臺應該就會正確輸出吧

0 回復 有任何疑惑可以回復我~
#1

碼農_鑫森淼焱垚 提問者

非常感謝!
2015-09-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于控制臺輸出的問題~~~

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號