我试图在linux/ubuntu/gnome中用java runtime exec运行perl命令。该命令生成一个pdf文件,但它将其保存在“我的主文件夹”中。exec方法是否可以为执行的命令设置输出路径?提前谢谢。
最佳答案
exec
方法只是在操作系统上运行命令,因此您需要更改使用exec
运行的命令,而不是更改“java”中的任何命令。
有几种可能性:
更改Java程序的工作目录。.pdf
被保存在您的工作目录中,因为这是程序运行的地方。
不幸的是,在程序启动后更改这个值并不简单。但是,在程序启动之前进行更改是很简单的;在程序启动之前只需更改工作目录即可。
在主目录中创建文件后,将其移动到所需位置。
更改命令,使其包含目标位置。Perl脚本可能有一个选项,使您能够将其输出保存到某个位置(通常-o
或--output
)。使用此选项,您的程序将从:
Runtime.exec("perl someprogram");
类似于:
Runtime.exec("perl someprogram -o /path/to/some.file")
如果没有此选项,则可以使用“输出重定向”。
试着用下面的话作为你的论点:
Runtime.exec("perl someprogram > /path/to/some.file")
不幸的是,如果不了解你的情况,我无法提供更具体的建议。
虽然每种方法都有优点和缺点,但最好是实现您最了解的方法;如果您不能让一种方法工作,请尝试另一种方法。
一个好的、免费的在线学习资源是Introduction to Linux: A Hands On Guide。
第2.2节有关于
cd
的详细信息,您可以将其用于1.
。第3.3节,第3节介绍
mv
命令,它在2.
中很有用。第5.1节是关于I/O重定向的。了解“输出重定向”和
>
运算符对于4.
很重要。对于
3.
,您必须查阅正在使用的perl程序的文档。