2016-02-27 166 views
0

我正尝试使用Docx4Java从我的系统读取docx文件的内容。我已经搜索了足够的答案,但不幸找不到一个。Docx4j在尝试读取现有的docx文件的内容时出现错误

以下是我在尝试实现我的代码时遇到的错误。

java.io.FileNotFoundException:G:\工作区\ 111.docx(系统找不到指定的文件)

PS:没有提供文件的路径没有错。没有jar文件不存在。在询问之前我已经检查过所

有人可以告诉我我哪里错了吗?

import java.io.*; 
import java.util.*; 
import org.docx4j.*; 

public class doc4jcodegeeks { 
    public static void main(String[] args) throws FileNotFoundException { 
    try { 
     doc4jcodegeeks dcf = new doc4jcodegeeks(); 
     dcf.getTemplate(); 
     } 
     catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 

    private WordprocessingMLPackage getTemplate() throws Docx4JException, FileNotFoundException { 
    WordprocessingMLPackage template = WordprocessingMLPackage.load(new FileInputStream(
      new File("G:\\WorkSpaces\\111.docx"))); 
    return template; 
} 
+0

可能是'G:'是网盘 –

回答

0

感谢您的回答肯贝科夫。过了一段时间,我想通了解决方案,并通过以下方式显示文档的输出窗口上的内容:

private WordprocessingMLPackage getTemplate() throws Docx4JException, FileNotFoundException { 
    WordprocessingMLPackage template = WordprocessingMLPackage.load(new java.io.File("G:\\WorkSpaces\\111.docx")); 
    MainDocumentPart documentPart = template.getMainDocumentPart(); 

    List<Object> listObj = documentPart.getContent(); 

    String str = listObj.toString(); 
    System.out.println(str); 

    return template; 
} 
0

好像是G:是网盘。在Windows JVM下运行System用户。该用户无法看到网络磁盘。您可以尝试:

  1. 当您启动程序时更改用户;

  2. 尝试指定完整的网络路径(\\share\filename.docx

  3. 最后将文件复制到本地磁盘;