关于这七种文档,我相信应该是最常用的文档了
在以下的介绍中会提到POI,现介绍下POI吧
poi处理WORD,EXCEL比较好:http://jakarta.apache.org/poi/
poi处理至少需要如下几个JAR包
PDFbox处理PDF比较好:http://pdfbox.apache.org/download.html
下面一一介绍了
第一和第二是只支持03版的word和excel文档
第一、首先来看WORD文档:
我这里用的是poi,相关jar包自己去下载,然后加到工程中(以下所要用的jar包也是,不再重复说)
- <span style="font-size: medium;"><span style="font-size: large;">public static String readWord(String path) throws Exception {
- String bodyText = null;
- try {
- FileInputStream is = new FileInputStream(path);
- bodyText = new WordExtractor(is).getText();
- } catch (Exception e) {
- System.out.println("=======");
- }
- return bodyText;
- }</span></span>
第二、Exel的文档
- <span style="font-size: medium;"><span style="font-size: large;">public static String ReadExcel(String path) throws IOException {
- InputStream inputStream = null;
- String content = null;
- try {
- inputStream = new FileInputStream(path);
- HSSFWorkbook wb = new HSSFWorkbook(inputStream);
- ExcelExtractor extractor = new ExcelExtractor(wb);
- extractor.setFormulasNotResults(true);
- extractor.setIncludeSheetNames(false);
- content = extractor.getText();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- return content;
- }</span></span>
针对07版的word和excel的操作
package com.test;
第三、PowerPoint的文档
- <span style="font-size: medium;"><span style="font-size: large;">public static String readPowerPoint(String path) {
- StringBuffer content = new StringBuffer("");
- try {
- SlideShow ss = new SlideShow(new HSLFSlideShow(new FileInputStream(
- path)));
-
- Slide[] slides = ss.getSlides();
- for (int i = 0; i < slides.length; i++) {
- TextRun[] t = slides[i].getTextRuns();
- for (int j = 0; j < t.length; j++) {
- content.append(t[j].getText());
- }
- }
- } catch (Exception ex) {
- System.out.println(ex.toString());
- }
- return content.toString();
- }</span></span>
第四、PDF的文档
- <span style="font-size: medium;"><span style="font-size: large;">public static String readPdf(String path) throws Exception {
- StringBuffer content = new StringBuffer("");
- FileInputStream fis = new FileInputStream(path);
- PDFParser p = new PDFParser(fis);
- p.parse();
- PDFTextStripper ts = new PDFTextStripper();
- content.append(ts.getText(p.getPDDocument()));
- fis.close();
- return content.toString().trim();
- }</span></span>
第五、HTML的文档,要说明的是,HTML文档我们要获取其TITLE,BODY中的内容就要先获取源文件,然后再对源文件进行标签上的过滤,很麻烦
- <span style="font-size: large;">public static String readHtml(String urlString) {
- StringBuffer content = new StringBuffer("");
- File file = new File(urlString);
- FileInputStream fis = null;
- try {
- fis = new FileInputStream(file);
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- fis, "utf-8"));
- String line = null;
- while ((line = reader.readLine()) != null) {
- content.append(line + "\n");
- }
- reader.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- String contentcontentString = content.toString();
- String htmlStr = contentString; // 含html标签的字符串
- String textStr = "";
- java.util.regex.Pattern p_script;
- java.util.regex.Matcher m_script;
- java.util.regex.Pattern p_style;
- java.util.regex.Matcher m_style;
- java.util.regex.Pattern p_html;
- java.util.regex.Matcher m_html;
- try {
- String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\
- String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*
- String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
- p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
- m_script = p_script.matcher(htmlStr);
- htmlStr = m_script.replaceAll(""); // 过滤script标签
- p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
- m_style = p_style.matcher(htmlStr);
- htmlStr = m_style.replaceAll(""); // 过滤style标签
- p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
- m_html = p_html.matcher(htmlStr);
- htmlStr = m_html.replaceAll(""); // 过滤html标签
- textStr = htmlStr;
- } catch (Exception e) {
- System.err.println("Html2Text: " + e.getMessage());
- }
- return textStr;// 返回文本字符串
- }</span>
第六、TXT的文档,给TXT文本建立索引时要注意
本项目实现了组合查询的功能
//这一步如果不设置为GBK,TXT内容将全部乱码 BufferedReader reader=new BufferedReader(new InputStreamReader(is,"GBK")); 具体代码如下
- <span style="font-size: medium;"><span style="font-size: large;">public static String readTxt(String path) throws IOException {
- StringBuffer sb = new StringBuffer("");
- InputStream is = new FileInputStream(path);
-
- BufferedReader reader = new BufferedReader(new InputStreamReader(is,
- "GBK"));
- try {
- String line = "";
- while ((line = reader.readLine()) != null) {
- sb.append(line + "\r");
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- return sb.toString().trim();
- }</span></span>
第七、RTF文档,rtf的转换则在javax中就有
- <span style="font-size: medium;"><span style="font-size: large;">public static String readRtf(String path) {
- String result = null;
- File file = new File(path);
- try {
- DefaultStyledDocument styledDoc = new DefaultStyledDocument();
- InputStream is = new FileInputStream(file);
- new RTFEditorKit().read(is, styledDoc, 0);
- result = new String(styledDoc.getText(0, styledDoc.getLength())
- .getBytes("iso8859-1"), "gbk");
-
- } catch (IOException e) {
- e.printStackTrace();
- } catch (BadLocationException e) {
- e.printStackTrace();
- }
- return result;
- }</span></span>
分享到:
相关推荐
Java 读取Word文档主要涉及的是处理不同类型的文档格式,如.doc、.docx或.rtf等。在Java中,由于Microsoft的Word文档格式复杂,直接读取并不简单,因此通常需要借助第三方库来实现。在给定的描述中提到了几种常用的...
Aspose是一家知名的软件开发公司,专门提供用于处理各种文件格式的API和库,包括Word、Excel、PowerPoint和PDF。这些DLL(动态链接库)文件是Aspose产品的一部分,允许开发者在自己的应用程序中集成强大的文件操作...
Aspose 是一个强大的工具集合,主要用于处理各种文件格式,包括Word文档、PowerPoint演示文稿、Excel电子表格以及PDF文档。这个压缩包“aspose实现在线预览word,ppt,excel,pdf文件架包(2)”显然是Aspose库的一部分...
你可以使用这个库来创建、编辑、转换Word文档,支持DOC、DOCX、ODT、RTF等多种格式。例如,你可以方便地将Word文档转换为PDF、HTML或其他文本格式,同时保持原有的布局和样式。 2. **Aspose.Cells**: 这个组件是...
这个压缩包提供的资源主要涉及了处理Office文档(如Word、Excel、PowerPoint)、纯文本(txt)和富文本格式(RTF)的在线预览功能。通过`print2flash`工具和`jacod.jar`库,我们可以将这些不同类型的文档转换为Flash...
Aspose 是一系列强大的开发工具,主要用于处理各种文档格式,如 PDF、Word 文档、Excel 工作表以及 PowerPoint 演示文稿。在提供的压缩包中,我们看到的是一些去除了 license 的 Aspose 库文件,这些库可以帮助...
Aspose是一系列强大的开发工具,主要用于处理各种文档格式,如Word、PDF、Excel(Cells)和幻灯片(Slides)。这些工具提供了丰富的API,让开发者能够轻松地在Java应用程序中创建、编辑、转换和呈现各种文档类型。...
这些工具允许开发者在应用程序中实现对文档、电子表格、演示文稿和PDF文件的创建、编辑、转换和渲染等功能,而无需依赖Microsoft Office等原生应用。 1. Aspose.Words:这是用于处理Microsoft Word文档的组件。它...
Aspose是一系列强大的第三方开发工具,专为处理各种文件格式而设计,如Microsoft Office的Word、Excel、PowerPoint,以及PDF文档。这些组件允许开发者在应用程序中实现对这些文件的创建、编辑、转换和渲染等功能,而...
Apose.Words是处理Microsoft Word文档的专业工具,它允许开发者在.NET应用程序中创建、编辑和操作DOC、DOCX、RTF、ODT等格式的文档。你可以使用它来生成报告、信函、发票等,或者从现有的Word文档中提取文本和图片...
Aspose 是一个强大的开发工具集合,它为程序员提供了处理各种文件格式的能力,如Word文档、PDF、Excel电子表格和PowerPoint演示文稿等。在给定的压缩包中,我们看到包含了一些Aspose的核心DLL文件,这些文件是Aspose...
Aspose 是一个强大的开发工具集合,专为处理各种文件格式而设计,如PDF、Word、Excel、PowerPoint等。在.NET Core环境下,开发者可以利用Aspose库来创建、编辑、转换以及操作这些文件,无需依赖Microsoft Office或者...
Aspose 是一个强大的开发工具集合,专为处理各种文件格式而设计,如PDF、Word、Excel、PowerPoint等。在给定的“aspose全家桶”中,包含了几个关键组件的JAR文件,分别是`pdf-19.1.jar`、`slides-15.9.0.jar`和`...
Aspose 是一个强大的Java库,提供了丰富的API集合,主要用于处理各种文件格式,包括Word文档、Excel电子表格、PDF以及PowerPoint演示文稿等。这个"aspose.jar"包集成了Aspose的产品API,使得Java开发者能够轻松实现...
A: pdf文件 B: office word文件 ".doc", ".odt", ".docx", ".dotm", ".docm" C: wps文档 ".wps" D: office excel文件 ".xls", ".xlsx", ".xlsm", ".xltm" E: wps表格 ".et" F: office powerPoint文件 ".ppt", ".pptx...
Aspose 是一个强大的Java库,用于处理各种办公文档格式,如PDF、Word、Excel和PowerPoint等。在提供的压缩包中,我们有三个Aspose的特定版本的JAR文件和一个license.xml文件,它们分别是: 1. **aspose.slides-15.9...
"OFFICE批量转PDF工具"就是针对这一需求设计的专业软件,它能帮助用户高效地将MS Office(包括Word、Excel、PowerPoint等)和WPS Office创建的文件,以及纯文本文件批量转换成PDF格式。 PDF(Portable Document ...
4. **Aspose.Words**:Aspose.Words是处理文档格式的利器,如Microsoft Word的DOC、DOCX、RTF等。它可以创建新文档,读取和编辑现有文档,进行复杂的布局和格式化操作,转换文件格式,并支持宏和域的处理。此外,...
3. Microsoft Office 的不同应用程序之间存在互操作性,如Word和Excel文档都可以另存为HTML格式,支持数据交换。但它们之间并不直接支持读取对方的原始格式,如Word不能直接读取Excel的.xls文件,反之亦然。 4. 在...