java中的getRuntime.exec()是否理解*?

时间:2012-08-03 05:46:03

标签: java unix

我想要一个来自指定目录的.tar.gz个文件列表。为此,我在Java中使用ls directory_path/*.tar.gz运行“getRuntime.exec()”。但它没有提供任何输出,而是说No such file or directory .. 但是在命令提示符下运行相同的命令.. 我在unix中运行java。 提前致谢

2 个答案:

答案 0 :(得分:1)

这是因为exec只是为了运行你的程序而不会启动shell。它只是启动一个过程。在类Unix系统上,shell负责将通配符扩展为文件列表。因此,您需要通过shell运行ls以获得所需的行为。

但是,为什么要使用lsThis answer显示了如何使用Java获取文件列表。

答案 1 :(得分:0)

1。您将能够使用exec()而不是命令promt来激活进程..

2. 更好地使用list()获取目录中所有文件的名称,然后使用FileFilter获取.tar.gz文件。