Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我试图读取现有docx文件的内容时,Docx4j给出错误_Java_Filenotfoundexception_Docx4j - Fatal编程技术网

Java 当我试图读取现有docx文件的内容时,Docx4j给出错误

Java 当我试图读取现有docx文件的内容时,Docx4j给出错误,java,filenotfoundexception,docx4j,Java,Filenotfoundexception,Docx4j,我正在尝试使用Docx4Java从系统中读取docx文件的内容。我已经搜索了足够多的答案,但不幸的是找不到答案 下面是我在尝试实现代码时遇到的错误 java.io.FileNotFoundException:G:\workspace\111.docx(系统找不到指定的文件) PS:提供文件路径没有错误。没有缺少jar文件。在询问之前,我已经检查了一切 有人能告诉我哪里出了问题吗 import java.io.*; import java.util.*; import org.docx4j.*;

我正在尝试使用Docx4Java从系统中读取docx文件的内容。我已经搜索了足够多的答案,但不幸的是找不到答案

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

java.io.FileNotFoundException:G:\workspace\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;
}

似乎是G:是网络磁盘。在windows中,JVM在
System
user下运行。此用户无法查看网络磁盘。您可以尝试:

  • 在启动程序时更改用户

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

  • 最后将文件复制到本地磁盘


  • 谢谢你的回答,肯·贝科夫。一段时间后,我找到了解决方案,并以以下方式在输出窗口上显示文档内容:

    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;
    }
    
    private WordprocessingMLPackage getTemplate()抛出docx4jeexception,FileNotFoundException{
    WordprocessingMLPackage模板=WordprocessingMLPackage.load(新的java.io.File(“G:\\workspace\\111.docx”);
    MainDocumentPart documentPart=模板。getMainDocumentPart();
    List listObj=documentPart.getContent();
    String str=listObj.toString();
    系统输出打印项次(str);
    返回模板;
    }
    
    似乎是
    G:
    是网络磁盘