中易网

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

答案:4  悬赏:0  
解决时间 2021-02-28 06:25
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
最佳答案
SB= new String(SB.getBytes("ISO-8859-1"),"UTF-8");//字符编码
全部回答
乱码是因为编解码不匹配造成的。 请重新打开并保存txt文件,保存时选择编码方式为:ANSI。如果使用别的文本编辑器,保存内容时请选择GBK或GB2312。
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(); }
字符编码的问题,你把字符编码都设置成utf-8
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
唐山小单排货车怎么能找活拉货
请问有没有在大族激光做技术支持的前辈,有些
视敏儿童弱视近视我想知道这个在什么地方
在东莞定做皮鞋一双皮鞋要多久?我脚上新买的
龙在生活中有哪些运用
求几首睡觉前适合听的歌曲 要看抒情情的
合力电动叉车 1.5吨 全新多少钱
马当神风送滕王阁说的是谁的故事
时尚天地怎么去啊,有知道地址的么
家乐福光谷店地址在哪,我要去那里办事
防伪系统软件那个品牌好?
喝酒后胃难受,吃点什么能好受点
如何让 Markdown 支持代码高亮
求10道配方的方程题如Y=-2X方+3X+5之类的,难
蓉城百姓大药房(涌泉街店)地址在哪,我要去那
推荐资讯
古井文体中心地址有知道的么?有点事想过去
人在水里会下沉么
致人轻伤已经调解拿到了谅解书,为什么还收检
日记描写雪
井上晴空用日文怎么写?
是不是有一句话说“我喜欢一个人,很不巧他和
热带北纬18度以南房屋东西朝向好吗
LOL里有像蓝猫一样爽快的英雄吗
大白菜怎么高格式化???
中超(含甲A)有哪些球队从未降级过
beg sth from sb =beg for sth from sb 吗?
体重下降了20斤,外形没变化,怎么回事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?