我想要一个来自指定目录的.tar.gz
个文件列表。为此,我在Java中使用ls directory_path/*.tar.gz
运行“getRuntime.exec()
”。但它没有提供任何输出,而是说No such file or directory
..
但是在命令提示符下运行相同的命令..
我在unix中运行java。
提前致谢
答案 0 :(得分:1)
这是因为exec
只是为了运行你的程序而不会启动shell。它只是启动一个过程。在类Unix系统上,shell负责将通配符扩展为文件列表。因此,您需要通过shell运行ls
以获得所需的行为。
但是,为什么要使用ls
? This answer显示了如何使用Java获取文件列表。
答案 1 :(得分:0)
1。您将能够使用exec()
而不是命令promt来激活进程..
2. 更好地使用list()
获取目录中所有文件的名称,然后使用FileFilter
获取.tar.gz文件。