当前位置: 首页 > news >正文

桂林网站优化价格wordpress主题改中文版

桂林网站优化价格,wordpress主题改中文版,网站建设公司发展历程,温州网站网站建设目录结构 前言tika简介Tika支持的文件格式MAVEN依赖JAVA程序JAVA测试程序测试文件测试结果部分文件提取失败参考连接 前言 Apache Tika提取文件整理如下#xff0c;如有特定的文件需要提取可以先参照【部分文件提取失败】章节对照#xff0c;以免浪费您的宝贵时间#xff0c… 目录结构 前言tika简介Tika支持的文件格式MAVEN依赖JAVA程序JAVA测试程序测试文件测试结果部分文件提取失败参考连接 前言 Apache Tika提取文件整理如下如有特定的文件需要提取可以先参照【部分文件提取失败】章节对照以免浪费您的宝贵时间如有问题或者解决办法还望大牛不吝赐教小编在此谢过 tika简介 Tika全名Apache Tika是用于文件类型检测和从各种格式的文件中提取内容的一个库。 Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据。 使用Tika可以轻松提取到的不同类型的文件内容如电子表格文本文件图像PDF文件甚至多媒体输入格式在一定程度上提取结构化文本以及元数据。 统一解析器接口Tika封装在一个单一的解析器接口的第三方解析器库。由于这个特征用户逸出从选择合适的解析器库的负担并使用它根据所遇到的文件类型。 使用的Tika facade类是从Java调用Tika的最简单和直接的方式而且也沿用了外观的设计模式。可以在 Tika API的org.apache.tika包Tika 找到外观facade类。 Tika提供用于解析不同文件格式的一个通用API。它采用83个现有的专业解析器库所有这些解析器库是根据一个叫做Parser接口单一接口封装。 Tika支持的文件格式 文件格式类库Tika中的类XMLorg.apache.tika.parser.xmlXMLParserHTMLorg.apache.tika.parser.htmll and it uses Tagsoup LibraryHtmlParserMS-Office compound document Ole2 till 2007 ooxml 2007 onwardsorg.apache.tika.parser.microsoftorg.apache.tika.parser.microsoft.ooxml and it uses Apache Poi libraryOfficeParser(ole2)OOXMLParser(ooxml)OpenDocument Format openofficeorg.apache.tika.parser.odfOpenOfficeParserportable Document Format(PDF)org.apache.tika.parser.pdf and this package uses Apache PdfBox libraryPDFParserElectronic Publication Format (digital books)org.apache.tika.parser.epubEpubParserRich Text formatorg.apache.tika.parser.rtfRTFParserCompression and packaging formatsorg.apache.tika.parser.pkg and this package uses Common compress libraryPackageParser and CompressorParser and its sub-classesText formatorg.apache.tika.parser.txtTXTParserFeed and syndication formatsorg.apache.tika.parser.feedFeedParserAudio formatsorg.apache.tika.parser.audio and org.apache.tika.parser.mp3AudioParser MidiParser Mp3- for mp3parserImageparsersorg.apache.tika.parser.jpegJpegParser-for jpeg imagesVideoformatsorg.apache.tika.parser.mp4 and org.apache.tika.parser.video this parser internally uses Simple Algorithm to parse flash video formatsMp4parser FlvParserjava class files and jar filesorg.apache.tika.parser.asmClassParser CompressorParserMobxformat (email messages)org.apache.tika.parser.mboxMobXParserCad formatsorg.apache.tika.parser.dwgDWGParserFontFormatsorg.apache.tika.parser.fontTrueTypeParserexecutable programs and librariesorg.apache.tika.parser.executableExecutableParser MAVEN依赖 目前已经有2.8.0版本有兴趣的朋友可以尝试一下使用感受可以和小编交流一下哦~ repositoriesrepositoryidcom.e-iceblue/idnamee-iceblue/nameurlhttp://repo.e-iceblue.com/nexus/content/groups/public//url/repository /repositoriesdependenciesdependencygroupIdorg.apache.tika/groupIdartifactIdtika-parsers/artifactIdversion1.24/version/dependencydependencygroupIdorg.apache.tika/groupIdartifactIdtika-core/artifactIdversion1.24/version/dependency /dependenciesJAVA程序 package com.xxx.xxx.carry;import cn.hutool.core.lang.UUID; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; import org.apache.commons.io.FilenameUtils; import org.apache.tika.config.TikaConfig; import org.apache.tika.detect.Detector; import org.apache.tika.exception.TikaException; import org.apache.tika.extractor.EmbeddedDocumentExtractor; import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor; import org.apache.tika.metadata.Metadata; import org.apache.tika.mime.MediaType; import org.apache.tika.mime.MimeTypeException; import org.apache.tika.parser.AutoDetectParser; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.Parser; import org.apache.tika.sax.BodyContentHandler; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException;import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path;public class CarryingFileUtils {// 创建解析器,使用AutoDetectParser可以自动检测一个最合适的解析器private static Parser parser new AutoDetectParser();private static Detector detector ((AutoDetectParser) parser).getDetector();private static TikaConfig config TikaConfig.getDefaultConfig();public static void extract(InputStream is, Path outputDir) throws SAXException, TikaException, IOException {Metadata m new Metadata();// 指定最基本的变量信息(即存放一个所使用的解析器对象ParseContext c new ParseContext();BodyContentHandler h new BodyContentHandler(-1);c.set(Parser.class, parser);EmbeddedDocumentExtractor ex new MyEmbeddedDocumentExtractor(outputDir, c);c.set(EmbeddedDocumentExtractor.class, ex);// InputStream-----指定文件输入流// ContentHandler--指定要解析文件的哪一个内容,它有一个实现类叫做BodyContentHandler,即专门用来解析文档内容的// Metadata--------指定解析文件时,存放解析出来的元数据的Metadata对象// ParseContext----该对象用于存放一些变量信息,该对象最少也要存放所使用的解析器对象,这也是其存放的最基本的变量信息parser.parse(is, h, m, c);}private static class MyEmbeddedDocumentExtractor extends ParsingEmbeddedDocumentExtractor {private final Path outputDir;private int fileCount 0;private MyEmbeddedDocumentExtractor(Path outputDir, ParseContext context) {super(context);this.outputDir outputDir;}Overridepublic boolean shouldParseEmbedded(Metadata metadata) {return true;}Overridepublic void parseEmbedded(InputStream stream, ContentHandler handler, Metadata metadata, boolean outputHtml) throws IOException {//try to get the name of the embedded file from the metadataString name metadata.get(Metadata.RESOURCE_NAME_KEY);if (name null) {name file_ fileCount;} else {//make sure to select only the file name (not any directory paths//that might be included in the name) and make sure//to normalize the namename name.replaceAll(\u0000, );int prefix FilenameUtils.getPrefixLength(name);if (prefix -1) {name name.substring(prefix);}name FilenameUtils.normalize(FilenameUtils.getName(name));}//now try to figure out the right extension for the embedded fileMediaType contentType detector.detect(stream, metadata);if (name.indexOf(.) -1 contentType ! null) {try {name config.getMimeRepository().forName(contentType.toString()).getExtension();} catch (MimeTypeException e) {e.printStackTrace();}}// 夹带文件名编码格式调整name new String(name.getBytes(ISO-8859-1), GBK);Path outputFile outputDir.resolve(name);if (Files.exists(outputFile)) {outputFile outputDir.resolve(UUID.randomUUID().toString() - name);}Files.createDirectories(outputFile.getParent());String formart name.substring(name.lastIndexOf(.) 1).toUpperCase();// 去除无关文件if (!EMF,WMF.contains(formart)) {Files.copy(stream, outputFile);}}} }JAVA测试程序 package com.xxx.xxx.utils;import com.xxx.xxx.carry.CarryingFileUtils;import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; import java.nio.file.Path; import java.nio.file.Paths;public class Jkx {public static void main(String[] args) {// 提取文件String inputFilrPath C:\\Users\\Administrator\\Desktop\\file_check\\qiantao\\Excel文件嵌套doc.xlsx;// 输出文件路径String outFilePath C:\\Users\\Administrator\\Desktop\\file_check\\nest_file\\;try {InputStream inputStream new BufferedInputStream(new FileInputStream(inputFilrPath));Path outFileUrl Paths.get(outFilePath);CarryingFileUtils.extract(inputStream, outFileUrl);} catch (Exception e) {e.printStackTrace();}} }测试文件 测试文件_百度网盘提取链接 测试结果 部分文件提取失败 提取失败文件整理如下如有大牛有解决办法还望不吝赐教 文件类型嵌套文件类型.dot.doc.doc.docm.doc.wps.wps.wps.xls.xls.et.et.xls.et.xltm.ett.pps.ppt.html.wps.mht.wps.mhtml.wps.pot.pot.cebx.*.dot.doc.dps.dps.pptx.dps.dpt.dps.docx.eid.doc.eis.png.odp.png.ods.png.odt 参考连接 https://www.jianshu.com/p/407735f03094?v1672195773961
http://www.laogonggong.com/news/109880.html

相关文章:

  • 食品公司网站设计项目微网站和微信
  • wp网站搬家教程wordpress单部电影主题
  • 网站建设视频教程最新品牌理念设计企业网站建设
  • 网站仿站教程企业宣传片制作公司收费
  • 新手建网站教程网站规划设计报告
  • 江西安福县建设局网站北京网络建设公司
  • 漳州网站建设选博大不错h5制作软件app手机版
  • wordpress多站共享授权码wordpress 女性主题
  • 个人网站可以做导航市政工程公司
  • 自己编辑网站怎么做做电子商务网站需要什么软件
  • 国内课题组建设常用网站新手怎么用DW建设一个网站
  • 网站建设相关视频教程灵活用工平台
  • 2个小时学会网站建设直播网站 咋做
  • 建设银行信用卡网站多少室内装饰设计怎么样
  • wep购物网站开发模板深圳seo网站
  • 假淘宝网站怎么做成都旅游的网站建设
  • 企业网站的优化方案网站备案多少岁
  • 有没有做产品团购的网站宁波网络营销怎么做
  • 商城网站建设与维护方案网站名称和备案的不一样
  • 昆明网站排名优化公司哪家好软件开发公司哪里好
  • 婚纱网站建设微信群桂林工程建设信息网站
  • 优秀的网站通过什么提供信息家具设计作品集
  • 网站扫码怎么做的开发工程师的岗位要求
  • 郑州专业做网站多少钱唐山网站制作案例
  • 官方网站建设制作平台河南郑州房产网
  • dz插件网站和自己做的网站区别制作网页的基本代码
  • 做视频包的网站有哪些成都小学网站建设
  • 门户网站建设经验网站开发研究方法
  • 宁波模板建站定制网站网页设计培训 机构
  • 十大网站app排行榜wordpress云服务器安装教程