小编Sab*_*ino的帖子

使用压缩生成的损坏的docx

首先,我要说一下我在这里创建了一个帐户,因为我一直在想办法解决这个问题,所以我一直在墙上碰头。

另外,我已经在这里看到了这个问题这些答案都没有帮助,我都尝试过。

我需要创建一个Word文档,其中包含一个简单的表和数据。我决定创建一个示例文档,在其中获取创建文档所需的xml。我已将所有文件夹从解压缩的docx文件移至资产文件夹。一旦意识到无法写入资产文件夹,便编写了一种方法,可将所有文件和文件夹复制到设备的外部存储位置,然后将我创建的文档写入同一位置。我试图从那里将文件压缩回一个.docx文件。这是无法工作的地方。

实际的docx文件已创建,我可以通过DDMS将其移到我的计算机上,但是当我查看该文件时,Word说它已损坏。如果我将其解压缩然后在不进行任何更改的情况下将其重新压缩到我的计算机上,那么这真是很奇怪。我使用了一个名为DiffMerge的程序(对于Mac),将示例解压缩的docx文件与我创建的解压缩的docx文件进行比较,并说它们完全相同。因此,我认为这与Android中的压缩过程有关

我还尝试过在计算机上解压缩示例docx文件,将所有文件和文件夹都移到资产文件夹中,包括document.xml文件,只是尝试将其压缩而不添加我自己的document.xml文件,而是使用示例一那也不起作用。我尝试的另一件事是将实际的docx文件放在我的资产文件夹中,将其解压缩到我的外部存储中,然后不执行任何操作就将其重新压缩。这也失败了。

我基本上不知所措。请有人帮我解决这个问题。

这是我的一些代码:

  1. 首先调用moveDocxFoldersFromAssetsToExternalStorage()。
  2. 之后调用所有文件。
  3. 然后,我创建document.xml文件并将其放置在它所属的word目录中
  4. 一切都应该存在,现在我尝试创建zip文件。

private boolean moveDocxFoldersFromAssetsToExternalStorage(){
    File rootDir = new File(this.externalPath);
    rootDir.mkdir();

    copy("");

    // This is to get around a glitch in Android which doesnt list files or folders
    // with an underscore at the beginning of the name in the assets folder.
    // This renames them once they are saved to the device.
    // We need it to show up in the list in …
Run Code Online (Sandbox Code Playgroud)

java zip android docx

4
推荐指数
1
解决办法
1800
查看次数

标签 统计

android ×1

docx ×1

java ×1

zip ×1