JAVA读取不同编码格式的TXT文件
2013-02-04 09:13
471 查看
最近做一个全文检索的功能,要求在用户上传附件时获取其内容存入数据库,CSV,EXCEL,WORD,PPT都搞定了。剩余一个最简单的TXT文档,开始忽略了它还有不同编码,导致一些编码格式的文本乱码。兼容写法如下,一个判断文件头的方法搞定所有。
privateString getCharset(String fileName) throws IOException{ BufferedInputStream bin = new BufferedInputStream(newFileInputStream(fileName)); int p = (bin.read() << 8) +bin.read(); String code = null; switch (p) { case 0xefbb: code = "UTF-8"; break; case 0xfffe: code = "Unicode"; break; case 0xfeff: code = "UTF-16BE"; break; default: code = "GBK"; } return code; } publicString getTextFromText(String filePath){ try { InputStreamReader isr = new InputStreamReader(newFileInputStream(filePath),getCharset(filePath)); BufferedReader br = newBufferedReader(isr); StringBuffer sb = new StringBuffer(); String temp = null; while((temp = br.readLine()) != null){ sb.append(temp); } br.close(); return sb.toString(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
相关文章推荐
- JAVA读取不同编码的txt文件,java获取txt文件编码格式
- java中读取txt文件获得编码格式方法
- Java读取txt文件编码格式
- Java读取不同编码格式的文件
- java 读取任意编码格式的txt文件
- FileReader读取文件,由于不确定源文件的编码格式不同,导致读出的文件乱码的问题
- (好文!!)FileReader读取文件,由于不确定源文件的编码格式不同,导致读出的文件乱码的问题
- java IO读取UTF-8格式txt文件第一行数据隐藏的坑
- 使用java判断TXT文件的编码格式
- (好文!!)FileReader读取文件,由于不确定源文件的编码格式不同,导致读出的文件乱码的问题
- Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- java生成unicode编码格式的txt文件
- Java读取UTF-8编码的TXT文件,第一行多一个"?"
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决
- java 流 写入txt文件, 并且设置txt编码格式
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”的解决方案
- java BufferedReader 读取不同编码类型的网页,文件
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- java中获取TXT文件编码格式
- FileReader读取文件,由于不确定源文件的编码格式不同,导致读出的文件乱码的问题