当前位置: 首页 > 知识库问答 >
问题:

如何使压缩后的文件只读

关翰
2023-03-14

我有一个需要压缩的文件列表,我正在使用ZipoutStream。

当我得到文件时,我将每个文件设置为只读。(我尝试过file.setWritable(false)和file.setReadOnly())

原始文件被更改,但保存在zip中的文件不仅准备好了。我猜这是因为我必须使用FileInputStream将每个文件添加到zip中。

对于测试,我使用的是我在网上找到的示例代码。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class TestZip {

    public static void main(String[] args) {
        byte[] buffer = new byte[1024];

        try {

            File zipFile = new File("C:\\Users\\thop\\Desktop\\Test\\test.txt");
            zipFile.setWritable(false);

            FileOutputStream fos = new FileOutputStream("C:\\Users\\thop\\Desktop\\Test\\MyFile.zip");
            ZipOutputStream zos = new ZipOutputStream(fos);
            ZipEntry ze = new ZipEntry(zipFile.getAbsolutePath());
            zos.putNextEntry(ze);
            FileInputStream in = new FileInputStream(zipFile.getAbsolutePath());
            int len;
            while ((len = in.read(buffer)) > 0) {
                zos.write(buffer, 0, len);
            }
            in.close();
            zos.closeEntry();
            zos.close();
            System.out.println("Done");
        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }

}

有没有办法使压缩后的文件只读?

共有1个答案

公良昕
2023-03-14

ZipOutputStream不使用保存的文件,但它会读取这些文件,然后对其进行压缩。

如果您想使用您有权访问的文件并保持其不变,可以使用zip4j

 类似资料:
  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 问题内容: 如何更改压缩文件的以下命令? 该命令可以正常使用正常文件。我需要更改压缩文件的命令。 问题答案: 您需要像这样读取它们的压缩文件: 尝试这个:

  • 问题内容: 如果文件是A ,我可以解压缩文件,如果文件类型是I,则可以解压缩文件。我如何使用python 2.7进行此工作? 问题答案: 试试这个包:

  • 问题内容: 任何人都可以向我展示在我一直在搜索的Java中压缩和解压缩tar.gzip文件的正确方法,但是我能找到的最多是zip或gzip(单独)。 问题答案: 我最喜欢的是plexus-archiver-请参阅GitHub上的资源。 另一个选项是Apache commons- compress- (请参阅mvnrepository)。 使用plexus-utils,用于取消存档的代码如下所示:

  • 本文向大家介绍Android如何实现压缩和解压缩文件,包括了Android如何实现压缩和解压缩文件的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴java代码了,具体代码如下所示: Java代码 代码到此结束,关于Android实现压缩和解压缩文件的全内容就给大家介绍这么多,希望能够帮助到大家!

  • 问题内容: 我已经使用follwoing命令打包了我的电子应用程序 现在,我需要将其解压缩并重新获得整个代码。反正有这样做吗? 问题答案: 从asar文档 (此处的用法是避免使用全局安装该工具) 提取整个档案: 提取特定文件: