关于java:如何在指定目录中创建tar

How to create tar in specified directory

我在目录/家里

如何使用/home/user/a/b/old/中的文件创建tar。这个tar应该在文件夹中:/home/user/a/b/old/并且tar应该只包含文件夹中的文件和文件夹/home/user/a/b/old/而不是这个文件的完整路径。我不能用命令CD。这有可能吗?

这必须从Java运行,这就是为什么它有一个EDCOX1×0的标签。


我想你应该试试这样的方法:Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","tar cjvf /home/user/a/b/old/ /home/user/a/b/old/"});


你的意思是?

1
2
3
4
5
(
cd /home/user/a/b/old/
tar cvf /tmp/old.tar .
mv /tmp/old.tar .
)

您可能还需要压缩存档

1
2
3
4
5
(
cd /home/user/a/b/old/
tar cjvf /tmp/old.tar.bz2 .
mv /tmp/old.tar.bz2 .
)