求助 java IO读取编码为ANSI文本文件乱码问题

bjyuling 2011-12-13 03:43:07
在线等。。。
...全文
649 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjyuling 2011-12-13
  • 打赏
  • 举报
回复
结贴:我后面补的那个方式经测试是可以用。再次感谢下 huntor。
bjyuling 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huntor 的回复:]

有这么个http://jchardet.sourceforge.net/,不保证准确
[/Quote]
你这个看起来比较专业 。。我试下
bjyuling 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bjyuling 的回复:]

引用楼主 bjyuling 的回复:
在线等。。。

谢谢额!
GBK可以读,有办法判断文件的编码么?
[/Quote]
java编码与txt编码对应

java txt

unicode unicode big endian

utf-8 utf-8

utf-16 unicode

gb2312 ANSI

InputStream inputStream = new FileInputStream("c:/helo.txt");
byte[] head = new byte[3];
inputStream.read(head);
String code = "";

code = "gb2312";
if (head[0] == -1 && head[1] == -2 )
code = "UTF-16";
if (head[0] == -2 && head[1] == -1 )
code = "Unicode";
if(head[0]==-17 && head[1]==-69 && head[2] ==-65)
code = "UTF-8";

System.out.println(code);
huntor 2011-12-13
  • 打赏
  • 举报
回复
有这么个http://jchardet.sourceforge.net/,不保证准确
bjyuling 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 bjyuling 的回复:]
在线等。。。
[/Quote]
谢谢额!
GBK可以读,有办法判断文件的编码么?
huntor 2011-12-13
  • 打赏
  • 举报
回复
记事本里选择ANSI?使用GBK读 InputStreamReader(new FileInputStream(...),"GBK")

50,547

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧