首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

读取TXT文件乱码,该怎么解决

2012-01-01 
读取TXT文件乱码用InputStreaminputfile.getInputStream()InputStreamReaderinReadernewInputStreamRea

读取TXT文件乱码

InputStream   input   =   file.getInputStream();
InputStreamReader   inReader   =   new   InputStreamReader(input);
读取Unicode编码的TXT文件是乱码,
通过修改上面代码:
InputStream   input   =   file.getInputStream();
InputStreamReader   inReader   =   new   InputStreamReader(input, "Unicode ");
就不会产生乱码,但万一别人上传的TXT是UTF-8,以上程序又会读取乱码了,
请问能不能获取TXT文件的编码格式呢?

[解决办法]
顶一下
[解决办法]
没有办法
[解决办法]
你用的这种是基于字节流的方法,
换用Reader,基于unicode字符流的方法把,就不会有乱码了
[解决办法]
用 FileInputStream 使用字节的方式读入到 byte [] b 中,

然后再判断。

推荐楼主:(推荐)
http://www.regexlab.com/zh/encoding.htm

[解决办法]
你可以根据最先读进来的前两个byte来判定是什么编码的文件。

0xefbb: 编码格式 "UTF-8 ";
0xfffe: 编码格式 "Unicode ";
0xfeff: 编码格式 "UnicodeBig ";
你试试看
[解决办法]
怎么获取前两个byte?请指教.
用getBytes()啊。
[解决办法]
为什么不用字符流去读数据呢

热点排行