转自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();
}

 这样子读出的字符串就不是乱码了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值