在Java中将rtf转换为docx文件,无需第三方库

Convert rtf to docx file in Java without third party library

提问人:George Dimitriou 提问时间:4/20/2022 最后编辑:George Dimitriou 更新时间:4/20/2022 访问量:633

问:

有没有办法在没有第三方库(如 aspose 等)的情况下将 rtf 格式的文件转换为 docx 格式。我尝试使用 InputStream 和 OutputStream,但它导致 docx 文件损坏。

private static void convertToDoc() throws IOException {
        String inputPath = "C:\\inputFile.rtf";
        String OutputPath = "C:\\outputFile.docx";
        File initialFile = new File(inputPath);
        InputStream source = new FileInputStream(initialFile);
        OutputStream target = new FileOutputStream(OutputPath);
        byte[] buf = new byte[8192];
        int length;
        while ((length = source.read(buf)) > 0) {
            target.write(buf, 0, length);
        }
        source.close();
        target.close();
    }
Java 数组 IO DOCX RTF

评论

0赞 Joop Eggen 4/20/2022
MS Word,写字板或Libre Office可以打开RTF文件。您到底想对文件做什么?
0赞 George Dimitriou 4/20/2022
我有一个 rtf 文件,我想用 docx4j 库编辑它。我无法直接加载它,所以我想先将其转换为 docx 格式。
0赞 vanje 4/20/2022
看来你在这里错过了一个重要的点。您更改了文件扩展名,但未更改内容本身。富文本格式和 Microsoft Word 文档格式是完全不同的文件格式。这意味着文件内容不同。如果有足够的时间,可以尝试查找这两种文件格式的规范,然后自行实现转换。或者您可以使用一些库。或者,您可以使用由程序控制或通过 VBA 控制的 Word。
0赞 Joop Eggen 4/20/2022
Java swing 可以将 RTF 文档加载为样式文档。我不确定这是否有帮助。

答: 暂无答案