我在写一个需要调用Perl脚本来做一些事情的小工具。如何从我的Java程序执行Perl脚本?
我已经知道并编写了关于如何调用它的代码,但我必须为exec()
的Perl脚本提供完全限定的路径。
有没有可能将该脚本作为一种可以直接调用的包提供?
我想稍后生成一个可执行的JAR文件,并且希望还有整个工具来提供Perl脚本并且不知道它位于何处。
目前它像:
private void extractAudioStream() {
inputFile = "C:\\Users\\Stefan\\Documents\\temp_tshark\\forward_stream.pcap";
outputFile_audiostream = "C:\\Users\\Stefan\\Documents\\temp_tshark\\forward_stream.pcm";
String perl_cmd = "perl C:\\Users\\Stefan\\Documents\\tshark_bin\\rtp_dump.pl " + inputFile + " " + outputFile_audiostream;
try {
p = Runtime.getRuntime().exec(perl_cmd);
希望的问题是清楚。
我认为这可能不是那么容易,因为系统perl
命令等待 全限定路径?那么是否有可能检测到我的 当前位置并将其传递给我的cmd-String?
如果我运行该命令从本地命令行我,它不会被执行。另外它从帮助中说: -e程序的一行程序(几个-e的允许,省略程序文件) 但它不只是一行,其整个剧本! – Stefan 2012-04-10 09:17:31