java读取文件乱码

FileReaderFr=null;BufferedReaderBr=null;try{Fr=newFileReader(Abs);Abs为通过JFileChooser获... FileReader Fr=null;
BufferedReader Br=null;
try {
Fr=new FileReader(Abs);Abs为通过JFileChooser获取的绝对路径,没有问题
Br=new BufferedReader(Fr);
String str="";
String allText="";
while((str=Br.readLine())!=null){
allText+=str+"\r\n";
}
System.out.print(allText);能够换行,乱码
jtf.setText(allText);不能换行,乱码(jta为JTextFiled对象)
} catch (Exception e1) {

e1.printStackTrace();
}finally{

try {
Fr.close();
Br.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
求高手指点,初学JAVA。
展开
 我来答
小狂中E
2013-10-09 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1031万
展开全部
那是你选中的文件内容字符编码与jvm缺省的文件编码不一致,如unix下jvm缺省文件编码一般为iso8859-1,而你的文件内容可能使用了GBK,可使用如下代码:
FileInputStream fis = new FileInputStream(Abs);
InputStreamReader isr = new InputStreamReader(fis, "GBK"); //GBK替换成你文件内容使用的编码
BufferedReader br = new BufferedReader(isr);
198901245631
2015-06-25 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1739万
展开全部
java文件读取的时候有中文就很出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。
如:String str = new String(str.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
备注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魏家骑士
2013-10-09 · 贡献了超过107个回答
知道答主
回答量:107
采纳率:0%
帮助的人:47.5万
展开全部
直接在属性里面改改就可以了啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-09
展开全部
我这里没有乱码,有没有可能,你的文件的编码方式的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式