六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

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

[复制链接]

升级  71.33%

39

主题

39

主题

39

主题

秀才

Rank: 2

积分
157
 楼主| 发表于 2013-2-3 13:37:13 | 显示全部楼层 |阅读模式
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();} 这样子读出的字符串就不是乱码了
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表