jinyanhui2008 发表于 2013-2-3 13:37:13

转自CSDN以作备份,使用java获取文档的编码格式

package com.util.mail;import java.io.File;import java.nio.charset.Charset;import cpdetector.io.CodepageDetectorProxy;import cpdetector.io.JChardetFacade;/** * 需要借助cpdetector jar包下载地址:http://d.download.csdn.net/down/1815149/wnjok,或者下载我的附件*/public class CharacterEnding {    public static void main(String[] args) {    String encoding = CharacterEnding.getFileCharacterEnding("Sty.xml");          System.out.println("encoding = " + encoding);    }    public static String getFileCharacterEnding(String filePath) {    File file = new File(filePath);    return getFileCharacterEnding(file);    }    public static String getFileCharacterEnding(File file) {    String fileCharacterEnding = "UTF-8";    cpdetector.io.CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();    detector.add(JChardetFacade.getInstance());    Charset charset = null;    try {      charset = detector.detectCodepage(file.toURL());    } catch (Exception e) {      e.printStackTrace();    }    if (charset != null) {      fileCharacterEnding = charset.name();    }    return fileCharacterEnding;    }}
 
 
如果用io流读文件可以使用
 
FileInputStream fiss = new FileInputStream(sSaveFile);InputStreamReader fis = new InputStreamReader(fiss, stringCharSet);StringBuffer sb = new StringBuffer();BufferedReader br = new BufferedReader(fis);String line = br.readLine();while(line!=null && line.length()>0){   sb.append(line);   line = br.readLine();} 这样子读出的字符串就不是乱码了
页: [1]
查看完整版本: 转自CSDN以作备份,使用java获取文档的编码格式