`

java判断文件编码

    博客分类:
  • java
 
阅读更多
/**                                                                             
* 获得远程URL文件的编码格式                                                    
*/                                                                             
public static String getReomoteURLFileEncode(URL url) {                         
   CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();         
   detector.add(new ParsingDetector(false));                                     
   detector.add(JChardetFacade.getInstance());                                   
   detector.add(ASCIIDetector.getInstance());                                    
   detector.add(UnicodeDetector.getInstance());                                  
   java.nio.charset.Charset charset = null;                                      
   try {                                                                         
    System.out.println(url);                                                    
    charset = detector.detectCodepage(url);                                     
   } catch (Exception ex) {                                                      
    ex.printStackTrace();                                                       
   }                                                                             
   if (charset != null) {                                                        
    return charset.name();                                                      
   } else {                                                                      
    return "utf-8";                                                             
   }                                                                             
}                                                                               
                                                                                 
                                                                                 
/**                                                                             
* 获得文件流的编码格式                                                         
*/                                                                             
public static String getInputStreamEncode(InputStream is) {                     
   CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();         
   detector.add(new ParsingDetector(false));                                     
   detector.add(JChardetFacade.getInstance());                                   
   detector.add(ASCIIDetector.getInstance());                                    
   detector.add(UnicodeDetector.getInstance());                                  
   java.nio.charset.Charset charset = null;                                      
   try {                                                                         
    charset = detector.detectCodepage(is, 0);                                   
   } catch (Exception ex) {                                                      
    ex.printStackTrace();                                                       
   }                                                                             
   if (charset != null) {                                                        
    return charset.name();                                                      
   } else {                                                                      
    return "utf-8";                                                             
   }                                                                             
}                                                                               
                                                                                 
/**                                                                             
* 获得本地文件的编码格式                                                       
*/                                                                             
public static String getLocalteFileEncode(String filePath) {                    
   CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();         
   detector.add(new ParsingDetector(false));                                     
   detector.add(JChardetFacade.getInstance());                                   
   detector.add(ASCIIDetector.getInstance());                                    
   detector.add(UnicodeDetector.getInstance());                                  
   java.nio.charset.Charset charset = null;                                      
   File file = new File(filePath);                                               
   try {                                                                         
    charset = detector.detectCodepage(file.toURI().toURL());                    
   } catch (Exception ex) {                                                      
    ex.printStackTrace();                                                       
   }                                                                             
   if (charset != null) {                                                        
    return charset.name();                                                      
   } else {                                                                      
    return "utf-8";                                                             
   }                                                                             
}                                                                               
/**                                                                             
* 获得字符串的编码格式                                                         
*/                                                                             
public static String getStringEncode(String str) {                              
   CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();         
   detector.add(new ParsingDetector(false));                                     
   detector.add(JChardetFacade.getInstance());                                   
   detector.add(ASCIIDetector.getInstance());                                    
   detector.add(UnicodeDetector.getInstance());                                  
   java.nio.charset.Charset charset = null;                                      
   InputStream myIn=new ByteArrayInputStream(str.getBytes());                    
   try {                                                                         
    charset = detector.detectCodepage(myIn,3);                                  
   } catch (Exception ex) {                                                      
    ex.printStackTrace();                                                       
   }                                                                             
   if (charset != null) {                                                        
    return charset.name();                                                      
   } else {                                                                      
    return "utf-8";                                                             
   }                                                                             
}                                          
分享到:
评论

相关推荐

    Java判断文件编码格式 - 明明是悟空 - 博客园1

    在Java编程中,判断文件编码格式是一项常见的任务,特别是在处理包含多国语言或者用户自定义内容的文件时。本文将探讨如何使用Java进行文件编码格式的识别,主要介绍两种方法:一种是简单的UTF-8判断,另一种是使用...

    Java判断文件的编码

    ### Java判断文件编码的方法 在Java开发中,经常会遇到需要处理不同编码格式的文件的情况。为了确保程序能够正确解析文件内容,必须先判断文件的编码格式。本文将详细介绍如何使用Java来判断文件是否为UTF-8或GBK...

    java判断文件编码格式 三方工具包 cpdetector_1.0.10.jar

    总的来说,`cpdetector_1.0.10.jar`是Java开发中的一个实用工具,它提供了高效且准确的文件编码检测功能,帮助开发者更好地处理文本数据,避免因编码问题而引发的程序异常。通过理解并熟练使用这类工具,可以提升...

    java判断文件编码或文本流编码的方法宣贯.pdf

    以下将详细介绍如何在Java中进行文件编码的判断。 首先,基本的判断方法是通过读取文件的前三个字节来识别编码格式。ASCII码文本通常不涉及这个问题,因为ASCII只包含128个字符,可以用单字节表示。但对于非ASCII...

    java获取文件编码(判断有无BOM)

    本文将详细介绍如何在Java中获取文件的编码并判断文件是否带有BOM。 首先,让我们了解一下什么是BOM。BOM是UTF-8、UTF-16和UTF-32等编码格式中的一个可选标记,用于告知解析器文件的编码类型。例如,UTF-8的BOM是三...

    java判断编码方式

    总之,Java中判断文件编码的方式多样,可以根据具体场景选择合适的方法。需要注意的是,这些方法都有其局限性,特别是对于没有BOM且包含混合字符集的文件,可能会比较困难。因此,最好的实践是在创建文件或数据时就...

    java程序判断文件编码的类型

    ### Java程序判断文件编码的类型 #### 知识点概览 本文档旨在教导读者如何通过Java编程语言来判断文件的编码类型。这包括常见的编码格式如GBK、UTF-8等。了解文件编码对于处理多语言环境下的文本数据至关重要。 ##...

    java文件字符编码集判断依赖.zip

    通用的文件字符编码集判断需要借助第三方包...使用Cpdetector jar包检测文件编码需要依赖antlr-2.7.7.jar、chardet-1.0.jar、jargs-1.0.jar三个jar包 本下载资源一站式全包含,并附带亲测有效的片段代码供测试~~

    java 获取文件编码

    在Java编程语言中,获取文件编码是一个常见的任务,特别是在处理文本文件时,了解正确的编码格式至关重要,因为不同的编码方式会影响字符的表示和解析。本文将深入探讨如何在Java中识别和处理不同类型的文本编码,如...

    java 文件编码转换

    标题"java 文件编码转换"指的是使用Java来解决文件编码问题,而描述中提到的"提供一个jar包和一个java文件"则暗示了我们可以通过这两个文件实现这个功能。 首先,`chardet.jar`可能是一个字符集检测库,用于自动...

    读取创建CSV文件并自动解析文件编码方式

    本文将深入探讨如何读取和创建CSV文件,并特别关注自动解析文件编码方式这一关键环节。我们将使用Java语言进行示例,同时引入第三方库来辅助处理编码问题。 首先,创建CSV文件的基本过程涉及将数据写入具有特定分隔...

    java识别文件编码格式

    在Java编程语言中,识别文件编码格式是一项重要的任务,特别是在处理不同来源的文本文件时。在没有第三方JAR包的情况下,我们通常需要依赖Java内置的API来实现这一功能。以下是一些关键知识点: 1. **字符编码**:...

    EncodingDetect.java自动获取文件的编码.rar

    EncodingDetect.java,java自动获取文件的编码,智能识别文件编码,支持本地file及指定url的编码识别,支持多达40余种编码的识别,包括最常见的UTF-8,GBK,GB2312,BIG5,UNICODE,ISO8859_1,ASCII等,FileUtil....

    Java判断文本文件编码格式以及读取

    如果很多时候我们没有约定好文件格式,我们就难以读取文件内容,此时,我们就需要一个工具来探测所读文本的编码格式,此工具可以允许用户读取诸如utf-8,gbk,gb2312一类的文件格式。内置了一些常用的探测实现类,...

    判断文件是否为utf-8的编码格式

    一个判断文件为utf-8的java类,自己用有限状态机实现的,很好用的。

    java 解析csv文件例子,csv文件 中文乱码问题

    当处理包含中文字符的CSV文件时,可能会遇到乱码问题,这通常与文件编码设置有关。本篇文章将详细探讨如何在Java中解析CSV文件,并解决中文乱码的问题。 首先,我们需要了解如何使用Java的标准库`java.io`和`java....

    antlr.jar

    Java判断文件编码

    判断上传的文件编码方式-支持各种编码方式

    判断上传的文件编码方式-支持各种编码方式,GB2312、utf-8、gbk、utf-16...

    JAVA文件编码转换和实现目录与文件打开

    在Java编程语言中,文件编码转换和文件操作是常见的任务,尤其在处理不同地区和语言的文本时。这里我们将深入探讨这两个主题。 1. **文件编码转换** - **Unicode转GB2312**: Unicode是一种国际标准字符集,包含了...

Global site tag (gtag.js) - Google Analytics