统计目录(包含子目录)下所有word文档页码数
2014-12-22 11:10
330 查看
提醒:使用poi3.7类库,下载相关jar包,java工程build path添加jar包引用
package com.smi.wordpage.tool; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.poi.POIXMLDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument; public class WordPageGetter { /** * @param args */ public static int sumpage=0; public static void main(String[] args) { // TODO Auto-generated method stub WordPageGetter wpg =new WordPageGetter(); List<String> lstFileNames=wpg.getListFiles("E://验收文档141219","docx",true); XWPFDocument docx; try { for(int i=0;i<lstFileNames.size();i++){ docx = new XWPFDocument(POIXMLDocument.openPackage(lstFileNames.get(i))); int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//总页数 // int wordCount = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 另外还有getCharactersWithSpaces()方法获取带空格的总字数。 System.out.println (lstFileNames.get(i)+" pages=" + pages ); sumpage+=pages; docx=null; } System.out.println ("目录下文档总页数 = " + sumpage ); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //获取目录(包括子目录)下所有suffix类型文件的完整路径 目录,类型,是否查询子目录 public List<String> getListFiles(String path, String suffix, boolean isdepth) { List<String> lstFileNames = new ArrayList<String>(); File file = new File(path); return listFile(lstFileNames, file, suffix, isdepth); } private List<String> listFile(List<String> lstFileNames, File f, String suffix, boolean isdepth) { // 若是目录, 采用递归的方法遍历子目录 if (f.isDirectory()) { File[] t = f.listFiles(); for (int i = 0; i < t.length; i++) { if (isdepth || t[i].isFile()) { listFile(lstFileNames, t[i], suffix, isdepth); } } } else { String filePath = f.getAbsolutePath(); if (!suffix.equals("")) { int begIndex = filePath.lastIndexOf("."); String tempsuffix = ""; if (begIndex != -1) { tempsuffix = filePath.substring(begIndex + 1, filePath.length()); if (tempsuffix.equals(suffix)) { lstFileNames.add(filePath); } } } else { lstFileNames.add(filePath); } //System.out.println(filePath); } return lstFileNames; } }
相关文章推荐
- 统计一个目录下所有普通文件的个数(包含子目录下的普通文件).
- 如何获取一个目录下包含子目录内的所有文件名,并保存在一个数组中或XML文档里
- 很实用的sh脚本,【批量文件替换】【ssh远程命令执行】【统计某一目录下面所有文档总行数】等
- 用java统计一个目录(含子目录)下所有java源文件中代码行数
- 采用多线程和生产者消费者模式来实现对于一个目录以及所有子目录下的文件内容的搜索,打印出包含指定关键字的行.
- UNIX命令,统计当前目录(含子目录)下所有后缀为.log的文件中ERROR出现的行数
- Linux查找当前目录及其子目录下所有包含指定字符串的文件
- 删除指定目录下大小为0的所有文件(包含子目录)
- 在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- java输出指定目录下所有的java文件名(包含子目录)
- linux系统中用一条命令 查找/data目录及子目录下 内容包含 “hello” 的所有文件名称 及 所在行数
- du 使用详解 linux查看目录大小 linux统计目录大小并排序 查看目录下所有一级子目录文件夹大小 du -h --max-depth=1 |grep [ 发
- 轮循遍历某个目录下所有文件包含子目录文件
- aspose.words生成word文档(.dox、.docx等)时,生成目录后,目录中的页码和实际页码不对应,代码中更新域都没用
- Python 将一个目录下的所有word文档转为txt
- linux下统计目录下所有子目录的大小
- 统计当前目录下的所有文件目录大小,不显示子目录与子文件
- 递归改进(在左侧树形不仅可以显示目录还可以显示跟要查询子目录统计的所有文件)
- linux查看目录大小 linux统计目录大小并排序 查看目录下所有一级子目录文件夹大小 du -h --max-depth=1 |grep []