在java中读取.docx文件

Add*_*ict 0 java docx apache-poi docx4j

我试图在java中读取一个文件,以下是代码:

public void readFile(String fileName){
        try {
        BufferedReader reader= new BufferedReader(new FileReader(fileName)); 
        String line=null;
        while((line=reader.readLine()) != null ){
            System.out.println(line);
        }
        }catch (Exception ex){}
            }
Run Code Online (Sandbox Code Playgroud)

它在txt文件的情况下工作正常.但是在docx文件的情况下,它是打印奇怪的字符.我怎样才能在Java中读取.docx文件.

小智 9

import java.io.File;
import java.io.FileInputStream;
import java.util.List;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    public void readDocxFile() {
            try {
                File file = new File("C:/NetBeans Output/documentx.docx");
                FileInputStream fis = new FileInputStream(file.getAbsolutePath());

                XWPFDocument document = new XWPFDocument(fis);

                List<XWPFParagraph> paragraphs = document.getParagraphs();


                for (XWPFParagraph para : paragraphs) {
                    System.out.println(para.getText());
                }
                fis.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
Run Code Online (Sandbox Code Playgroud)


小智 6

内部.docx文件被组织为压缩的XML文件,而.doc二进制文件格式.所以你不能直接阅读其中任何一个.看看docx4jApache POI.

如果您尝试创建或操作.docx文件,请尝试docx4j 以下是源代码

或者去找apachePOI


vkr*_*ams 2

您无法直接读取 docx 文件或 doc 文件。您需要有一个 API 来读取 Word 文件。使用 Apache POI http://poi.apache.org/。如果您有任何疑问,请参阅 stackoverflow.com 上的此线程 How read Doc or Docx file in java?