java汉字的编码_JAVA汉字编码问题
我用JavaIO流讀硬盤中的文本文件,英文及標點符號可以正常顯示,但中文變成了亂碼?怎么回事,是編碼問題嗎?怎么解決?求各位大神指教?在下感激不盡源代碼
package?IoTest;
import?java.io.*;
public?class?reader?{
public?static?void?main(String[]?args)throws?IOException?{
File?in=new?File("D:\\聽力\\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
if(bytes!=-1){
System.out.print((char)buf[i]);
}
}
fin.close();
}
}
輸出結果true
true
package?Exam;
import?java.util.*;
public?class?exam1?{
public?static?void?main(String[]?args)?{
Stack?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
if((w[i]==s.pop())){
//?????????????????????????????????????????????????????????¢??
j++;//?????????????¢????????????????????????????????
}
if(j==(w.length-1)){
System.out.println("??????");
}
}
}
}
正常結果應為package?Exam;
import?java.util.*;
public?class?exam1?{
public?static?void?main(String[]?args)?{
Stack?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
if((w[i]==s.pop())){
//先進后出,第一個和最后一個比,第二個和倒數第二個比,以此類推
j++;//計數器,如果相等的次數等于數組的個數,則是回文
}
if(j==(w.length-1)){
System.out.println("是回文");
}
}
}
}
還有一個問題就是我注釋掉的部分,為什么讀取不了,第二種可以。
求各位大神指教
總結
以上是生活随笔為你收集整理的java汉字的编码_JAVA汉字编码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Alexa工具条遭清洗,其排名逐渐淡出中
- 下一篇: html静态页面作业 我的家乡网站设计—