我正在尝试使用Docx4Java从我的系统中读取docx文件的内容。我已经搜索了足够的答案,但遗憾的是找不到答案。
以下是我尝试实现代码时遇到的错误。
java.io.FileNotFoundException:G:\ WorkSpaces \ 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 :(得分:0)
似乎是G:是网络磁盘。在Windows中,JVM在System
用户下运行。该用户无法看到网络磁盘。你可以尝试:
更改用户,当您启动程序时;
尝试指定完整的网络路径(\\share\filename.docx
)
最后将文件复制到本地磁盘;
答案 1 :(得分:0)
感谢Ken Bekov的回答。过了一段时间,我想出了解决方案,并按照以下方式在输出窗口上显示文档的内容:
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;
}