62,614
社区成员
发帖
与我相关
我的任务
分享
//判断文件编码
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(sourseFile.toURL());
} catch (Exception ex) {
ex.printStackTrace();
}
if (charset != null) {
chartsetName=charset.name();
} else {
chartsetName="UTF-8";
}
//读入文本文件
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileName),chartsetName));
while (in.ready()) {
str = in.readLine().trim();
if (str.trim().equals("")) {
break;
}
HashMap map=new HashMap();
//解析
String sno = str.substring(0, 16).trim();
.....
//放入map
backMap.put(sno, myObj);
}
Obj objTmp=backMap.get(sno1);
String sno = str.substring(0, 16).trim();
String snoBytes=Arrays.toString(sno.getBytes());
//测试文件保存是否带BOM标志
if(snoBytes.indexOf("-124, 49, -107, 51")>0){
sno=new String(sno.getBytes(),4,sno.getBytes().length-4);
}