java读取txt文件时候出现乱码

publicclassHomework{publicstaticvoidmain(String[]args)throwsIOException{try{System.ou... public class Homework {
public static void main(String[] args)throws IOException{
try{

System.out.println("Please input your command:");
Scanner sc=new Scanner(System.in);
String command=sc.next();
String temp;
String[] text1=new String[5];
String[] text2=new String[5];
String information;

File fl=new File("D:\\StoreHouse.txt");
FileReader fr=new FileReader(fl);
BufferedReader br=new BufferedReader(fr);
StringBuffer SB=new StringBuffer(4096);

if(command.equals("show")){
while((temp=br.readLine())!=null){
SB.append(temp).append('\n');
System.out.println(SB);
}
br.close();

这是代码,在执行show命令时,D:\\StoreHouse.txt明明有中文,为什么显示的是一堆乱码,为什么,乱码如下:
Please input your command:
show
0001;�չ����;�������չ��;SR01;100

0001;�չ����;�������չ��;SR01;100
0002;�չ����;��ţ�չ��;QE01;10
展开
 我来答
wwwzhangsan
2014-04-15 · TA获得超过286个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:113万
展开全部
乱码是因为编解码不匹配造成的。
请重新打开并保存txt文件,保存时选择编码方式为:ANSI。如果使用别的文本编辑器,保存内容时请选择GBK或GB2312。
chengbin775
2014-04-15 · TA获得超过104个赞
知道答主
回答量:61
采纳率:0%
帮助的人:53万
展开全部
WINDOW默认是GBK 看你java文件编码是什么 编码格式不统一

public static void main(String[] args)throws IOException{

FileInputStream fis = new FileInputStream( "D:\\StoreHouse.txt");
InputStreamReader isr = new InputStreamReader(fis, "GBK");
BufferedReader br=new BufferedReader(isr);
StringBuffer SB=new StringBuffer(4096);
String temp = null;
while((temp=br.readLine())!=null){
SB.append(temp).append('\n');
System.out.println(SB);
}
br.close();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佛曰你好吗
2014-04-15 · TA获得超过144个赞
知道答主
回答量:125
采纳率:50%
帮助的人:45.4万
展开全部
SB= new String(SB.getBytes("ISO-8859-1"),"UTF-8");//字符编码
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
617604221
2015-09-19
知道答主
回答量:38
采纳率:0%
帮助的人:11.9万
展开全部
字符编码的问题,你把字符编码都设置成utf-8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式