我正在使用java.util.zip库和ZipOutputStream来创建目录的zip文件以及其下的所有文件和目录。在我的应用程序中,很可能另一个线程可能在压缩期间访问这些相同的文件。我不是文件压缩(或线程安全,就此而言)的专家,所以我的问题是,会压缩目录,而其他人访问这些文件会影响这两个过程吗?
答案 0 :(得分:3)
仅当进程以防止其他进程读取访问的方式打开文件时。 (这通常需要特定于操作系统的标志来指定权限。)所以它当然可能,但这不是常见的情况。
答案 1 :(得分:1)
假设您在Windows上运行,并且您的并发访问权限是只读的,那么我希望压缩过程不会影响任何内容。
有关Java文件锁定的详细方法,请参阅JDC Tech Tips。