| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3496 人关注过本帖
标题:读取文件中文乱码,英文可以
只看楼主 加入收藏
逆水寒刘
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:76
专家分:117
注 册:2013-3-27
结帖率:90%
收藏
 问题点数:0 回复次数:9 
读取文件中文乱码,英文可以
程序代码:
public static void main(String[] args) throws Exception{
    File afile=new File("C:/Users/liudenghong/Downloads/b.txt");
    FileInputStream red=new FileInputStream(afile);
    InputStreamReader in=new InputStreamReader(red,"UTF-8");
    BufferedReader buf=new BufferedReader(in);
    String line=buf.readLine();
    while(line!=null){
        System.out.println(line);
        line=buf.readLine();
    }
}
搜索更多相关主题的帖子: 中文 中文 英文 英文 
2016-03-25 20:50
逆水寒刘
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:76
专家分:117
注 册:2013-3-27
收藏
得分:0 
代码没有问题,不知道什么情况,又新建了一个文件txt,把原内容粘贴过去,可以正常读取。但是换回原文件就不行。真是醉了
2016-03-25 22:04
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
InputStreamReader in=new InputStreamReader(red,"UTF-8");

剑栈风樯各苦辛,别时冰雪到时春
2016-03-26 09:16
逆水寒刘
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:76
专家分:117
注 册:2013-3-27
收藏
得分:0 
回复 3楼 林月儿
没有错啊,可是怎么就读出来的是乱码呢?
2016-03-26 20:26
逆水寒刘
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:76
专家分:117
注 册:2013-3-27
收藏
得分:0 
回复 3楼 林月儿
同样的程序,有的TXT文件能够正确读出,有的却只能显示出乱码?
2016-03-26 21:29
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
关于字符集编码问题,读出乱码应该是中文在编码所占字节数的原因吧

剑栈风樯各苦辛,别时冰雪到时春
2016-03-27 09:10
逆水寒刘
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:76
专家分:117
注 册:2013-3-27
收藏
得分:0 
回复 6楼 林月儿
但是我遇到的是有些Txt不能正常读取,但是有一些却可以读取。不知道是不是跟文本有关。
2016-03-27 20:38
jinjoxie
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:61
注 册:2015-6-3
收藏
得分:0 
文件有自己的编码格式的,如果你的文件格式是UTF-8,读文件的内容就没问题,如果文件格式非UTF-8,那读取的内容就会乱码。
用记事本打开TXT文件,点 另存为, 在下面就能看到文件的编码格式的。
文件的操作一定要确认文件的编码格式才可以确保乱码问题
2016-03-28 11:01
申缘
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2016-3-29
收藏
得分:0 
1、使用带缓存的字节输入流BufferedInputStream类接受键盘输入。
2、中文是以两个字节为单位存储的,如果你不小心多打一个空格出来,就有可能出现中文乱码的情况。
2016-03-29 23:24
xingyue425
Rank: 1
等 级:新手上路
威 望:1
帖 子:2
专家分:0
注 册:2016-4-8
收藏
得分:0 
你需要注意首先是你要读取的文件的内容的保存编码格式,然后就是你的程序默认的读取编码格式。你最好把你的项目的wokspace那个编码设置成utf-8,然后再把文件保存编码格式设置成utf-8,这样读取基本就没问题了。
2016-04-08 15:42
快速回复:读取文件中文乱码,英文可以
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018170 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved