2016-02-27 108 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. 最後將文件複製到本地磁盤;

相關問題