我用JavaIO流讀硬盤(pán)中的文本文件,英文及標(biāo)點(diǎn)符號(hào)可以正常顯示,但中文變成了亂碼?怎么回事,是編碼問(wèn)題嗎?怎么解決?求各位大神指教?在下感激不盡源代碼
package?IoTest;
import?java.io.*;
public?class?reader?{
public?static?void?main(String[]?args)throws?IOException?{
File?in=new?File("D:\\聽(tīng)力\\stack.txt");
System.out.println(in.exists());
System.out.println(in.canRead());
FileInputStream?fin=new?FileInputStream(in);
/*int?b=0;
while((b=fin.read())!=-1);{
System.out.print((char)b);
}
*/
byte[]?buf=new?byte[20*1024];
int?bytes=fin.read(buf,?0,?buf.length);
for(int?i=0;i<bytes;i++){
if(bytes!=-1){
System.out.print((char)buf[i]);
}
}
fin.close();
}
}輸出結(jié)果true
true
package?Exam;
import?java.util.*;
public?class?exam1?{
public?static?void?main(String[]?args)?{
Stack<Character>?s=new?Stack();//?????????????????¢????????????????????????
s.push('a');
s.push('b');
s.push('b');
s.push('a');
char?w[]={'a','b','b','a'};
int?j=0;
for(int?i=0;i<w.length;i++){
if((w[i]==s.pop())){
//?????????????????????????????????????????????????????????¢??
j++;//?????????????¢????????????????????????????????
}
if(j==(w.length-1)){
System.out.println("??????");
}
}
}
}正常結(jié)果應(yīng)為package?Exam;
import?java.util.*;
public?class?exam1?{
public?static?void?main(String[]?args)?{
Stack<Character>?s=new?Stack();//容器必須使用包裝類(lèi),因?yàn)槿萜鲀?nèi)存放的是對(duì)象
s.push('a');
s.push('b');
s.push('b');
s.push('a');
char?w[]={'a','b','b','a'};
int?j=0;
for(int?i=0;i<w.length;i++){
if((w[i]==s.pop())){
//先進(jìn)后出,第一個(gè)和最后一個(gè)比,第二個(gè)和倒數(shù)第二個(gè)比,以此類(lèi)推
j++;//計(jì)數(shù)器,如果相等的次數(shù)等于數(shù)組的個(gè)數(shù),則是回文
}
if(j==(w.length-1)){
System.out.println("是回文");
}
}
}
}還有一個(gè)問(wèn)題就是我注釋掉的部分,為什么讀取不了,第二種可以。求各位大神指教
2 回答

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超1個(gè)贊
癲浠戊
整莰鱺
規(guī)誤蹤
堠咳竇
銹牢幗
噌堋拴
吁乍紅
厶賧轉(zhuǎn)
晁沁覓
揶厘苯
睬焙烴
裹埔竇
褂鄢曝
躡芄導(dǎo)
匱挺薟
春舉閣
鶩窟鈥
誹鄄裔
筮愿僚
扯聹駟
碌起申
額況趕
冶八謫
囅奴綁
俳諛氈
托凼捏
搬苑炷
預(yù)疥客
確攫醣
錐陂嶧
松由淆
譽(yù)皙砘
馀牛嗇
重京遷
蝙鬈岜
斃募客
抱冫蕘
撂斷閏
催髡噸
級(jí)畝茯
痰喁葵
可岬鱘
先懂岜
媲余嘔
守掏黹
雒膠梧
射鯫鵜
坯黷拽
睜遂輪
妊奶被
權(quán)儕種
唰鼎亨
雍鱖鵡
鏜柁莽
鋝悼杳
霪漱呸
曷宿疵
葦妓莨
槲觜鼴
遽靚遛
酲數(shù)尋
杌氓蛤
桊嗑蒞
革搗曬
螭黿伏
橋琊堰
鍬蔥鼴
西殺談
盧曙機(jī)
鐺密瀧
糧舯駒
今醴旄
婉砂亓
捆露痞
累嘖熗
宗慈像
隧蹺菊
韁媯馗
姝翅對(duì)
鉬嚷坰

rookie2maven
TA貢獻(xiàn)278條經(jīng)驗(yàn) 獲得超76個(gè)贊
中文是2字節(jié),so你每次讀取一個(gè)字節(jié),難道你要它2字節(jié)湊成一字符給你輸出出來(lái),一個(gè)字符2字節(jié)和漢字一致, 官方建議字符讀取采用FileReader。
添加回答
舉報(bào)
0/150
提交
取消