0

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

4

2 回答 2

1

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

但是,你为什么要使用ls呢?这个答案显示了如何使用 Java 获取文件列表。

于 2012-08-03T05:47:39.243 回答
0

1.您将能够使用exec()not the command promt 来触发进程。

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

于 2012-08-03T05:52:34.847 回答