java - Zip - 添加较新的文件和文件夹,删除旧的文件和文件夹

标签 java windows linux pseudocode 7zip

我想在 Windows 和 Linux 计算机上执行以下操作:

  • 在自动化过程中压缩多个文件夹

  • 添加新文件以存档,删除旧文件。

我已经使用 7zip 尝试了 .bat 和 .sh 脚本,并遇到了一些限制(不容易从现有存档中更新/删除,Linux 首先需要 .tar 形式的文件夹)。

我决定编写一个 Java 应用程序来做出决策(存档已过时),并将调用 7zip 来压缩文件。

我是以下伪代码的东西:

Get modified date of archive
Get latest modified date of files within folder
If latest modified date is later that archive date
    Delete archive
    Create new archive

文件夹层次结构中会有多个存档,因此如果需要更新文件夹,这将减少处理过程。

听起来不错吗?或者还有其他更简单的方法吗?

最佳答案

如果您确实想在 Java 中执行此操作,我建议您使用 java.util.zip 而不是 7zip。

更好的解决方案可能是执行 7z -u 然后使用这些选项。

http://sevenzip.sourceforge.jp/chm/cmdline/switches/update.htm

关于java - Zip - 添加较新的文件和文件夹,删除旧的文件和文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760099/

相关文章:

Windows 7 多线程编程中的 C 高精度时间戳(以微秒为单位)

linux - 如何使用 mod_exec proftpd linux

java - 在 Java 中将日期转换为新的时区

java - 递增运算符值(java)?

c++ - 有没有办法访问 gettext 在 windows 下使用的语言环境?

c - 尝试访问 C 中字符串上的字符时出现总线错误

linux - 将 10 分钟的 cron 作业添加到 Ubuntu 包

java - 将 SDL 2.0 游戏移植到 Android

java - 是否可以创建一个只能由两个类访问的静态变量?

python - 将 Windows 路径转换为 ​​Linux 路径