最近做一个全文检索的功能,要求在用户上传附件时获取其内容存入数据库,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 识别文件的编码格式 读取文件的编码 utf-8 gbk gb2312 java 编码 java 获取文件编码格式 java 乱码查找
读取与创建CSV文件,根据第三方jar包自动解析文件编码方式,相关jar包与使用说明
如果很多时候我们没有约定好文件格式,我们就难以读取文件内容,此时,我们就需要一个工具来探测所读文本的编码格式,此工具可以允许用户读取诸如utf-8,gbk,gb2312一类的文件格式。内置了一些常用的探测实现类,...
本工程用于研究如何使用Java代码获取文件、文件流或字符串的编码方式 本工程编码方式:UTF-8 开发工具:MyEclipse 参考博客:http://blog.csdn.net/gaohuanjie/article/details/43735891
将 字符集编码格式为 GB2312 的文件 test0.java,test1.java,test2.java 放在 /home/defonds/tmp/test 目录下(test0.java,test1.java,test2.java 作者也可以自行随意创建。如何查看 test0.java 的字符集编码格式...
NULL 博文链接:https://sanry.iteye.com/blog/2297657
* 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline...
用Java读取Word文档
Unicode、UTF-8格式、Unicode big endian格式的文件读取
用开源的JAR包分析 不多说了 工作中用的比较多
Java实现对文件的读写,可设置编码格式
java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel
EncodingDetect.java,java自动获取文件的编码,智能识别文件编码,支持本地file及指定url的编码识别,支持多达40余种编码的识别,包括最常见的UTF-8,GBK,GB2312,BIG5,UNICODE,ISO8859_1,ASCII等,FileUtil....
该源码用来输出GB2312字符集内容到指定文件,在学习字符编码时对具体字符范围不太熟悉的朋友可以看一下
代码详细描述了通过java读写xml文件的方法,值得一看
Java自动识别文件字符编码工具类 参考博客 https://blog.csdn.net/superbeyone/article/details/103036914 使用方式: String encode = EncodingDetect.getFileEncode(geoJsonFile); log.info("系统检测到文件[ {}...
把含有本地编码的文件转成utf-8的,经常用于java文件的转码. 把编码gbk的java文件批量转成utf-8编码的文件.
java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 1.要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 2.利用 InputStreamReader(new FileInputStream(fileUrl), ...
自己实现的Huffman编码,压缩率接近50%,使用字节流写入文件。解码时读取字节流,将字节流转化为二进制串,匹配字符解压。使用I have a dream作为测试文件。
识别文件编码 例如读取txt,先获取txt编码,再针性读取(es踩的坑) 使用方法:String code = EncodingDetect.getJavaEncode(path);//返回文件编码