判断文件编码的第三方工具
来源:互联网 发布:所有教材答案软件 编辑:程序博客网 时间:2024/05/19 13:06
http://blog.csdn.net/justinavril/article/details/2783266
今天在论坛里看见了一个人发帖子问,如何查看文件的编码。有一个人回帖推荐了一片文章,我看了一下,觉得挺好的,我把原文的意思取舍了一下,整理成了下面的文章。原文请查看:http://www.javaeye.com/topic/108540,作者是hdwangyi 。
他在帖子中贴出了一段代码来判断一个文本是UTF-8编码的,思路是读取一个txt文件,截取字符流的前3个字符(即标示位),判断是否与UTF-8的格式的标示位一致。
- import java.io.*;
- public class TestText {
- public static void main(String args[]){
- File file = new File("C:/1.txt");
- try{
- InputStream stream = new FileInputStream(file);
- byte[] byteArray = new byte[3];
- stream.read(byteArray);
- stream.close();
- if (byteArray[0] == -17 && byteArray[1] == -69 && byteArray[2] == -65)
- System.out.println("UTF-8");
- else
- System.out.println("可能是其他的编码");
- }
- catch(Exception e){
- e.printStackTrace();
- }
- }
- }
但显然这种方式有很大的局限性,而且需要对文件编码有着一定的了解。于是作者用到了第三方的jar包cpdetector,下载地址:http://cpdetector.sourceforge.net/。如何在Eclipse中导入jar包,请看http://blog.csdn.net/justinavril/archive/2008/08/07/2783182.aspx。这个jar包内的类和方法能够准确判断文件的编码格式。
- import cpdetector.io.*;
- import java.io.*;
- import java.nio.charset.*;
- public class PageCode {
- public static void main(String args[]){
- CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
- detector.add(JChardetFacade.getInstance());
- Charset charset = null;
- File f = new File("C:/1.txt");
- try {
- charset = detector.detectCodepage(f.toURL());
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- if(charset!=null){
- System.out.println(f.getName()+"编码是:"+charset.name());
- }else
- System.out.println(f.getName()+"未知");
- }
- }
输出:
- 1.txt编码是:GB2312
可以把main函数的相关内容改成一个方法重用,从而达到自由判断文件编码的目的。
0 0
- 判断文件编码的第三方工具
- 使用第三方库cpdetector来判断文件的编码方式
- Android工具之判断文件的编码
- 第三方jar包解读文件编码
- 使用第三方工具AutoIt上传文件
- 判断文件的编码
- 判断文件的编码
- 利用第三方的Jar包内的类和方法来判别文件编码
- [第三方工具]利用第三方工具xPort导出Excel文件
- Subversion 的一些第三方工具
- 使用第三方的测试工具
- linux下的第三方工具
- 整理常用的第三方工具
- 第三方分享工具bShare的技巧
- unity使用的第三方工具
- 不用第三方工具解压缩msi文件提取文件
- Java判断文件编码工具类
- .net第三方工具
- 开发自己的编程语言(八)—— 在Snail中调用C#函数
- 性能分析工具
- 算法在JDK中的使用二
- 关键帧系统的实现(Hermite位置插值+Squad四元数空间的朝向插值) .
- mysql常用控制台命令
- 判断文件编码的第三方工具
- Visual Assist X 10.8.2023的Crack破解补丁.修正20余处bug. 2013.12.20 (General release)
- iOS7和iOS6 UI适配的问题
- linux 驱动调试笔记二----LCD驱动01
- C++ 关键字 explicit
- Lightoj 1157 数位DP
- 我们运维所有互联网服务器
- 删除U盘时提示无法停止‘通用卷’设备的解决方法
- JAVA JDK API 源码学习 - Eclipse 中导入 JDK 源码