Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行时执行输出路径_Java_Linux_Perl_Exec_Runtime.exec - Fatal编程技术网

Java 运行时执行输出路径

Java 运行时执行输出路径,java,linux,perl,exec,runtime.exec,Java,Linux,Perl,Exec,Runtime.exec,我试图在linux/ubuntu/gnome中使用Java runtime exec运行perl命令。该命令生成pdf文件,但会将其保存在“我的主文件夹”中。exec方法是否可以为执行的命令设置输出路径?提前感谢。您可以修改Perl脚本以接受输出的绝对路径 您可以尝试使用exec(java.lang.String[],java.lang.String[],java.io.File)设置工作目录,其中File是执行命令的目录 如果所有其他操作都失败,您将始终可以将生成的文件从主目录复制到最终位置。

我试图在linux/ubuntu/gnome中使用Java runtime exec运行perl命令。该命令生成pdf文件,但会将其保存在“我的主文件夹”中。exec方法是否可以为执行的命令设置输出路径?提前感谢。

您可以修改Perl脚本以接受输出的绝对路径

您可以尝试使用
exec(java.lang.String[],java.lang.String[],java.io.File)
设置工作目录,其中File是执行命令的目录


如果所有其他操作都失败,您将始终可以将生成的文件从主目录复制到最终位置。

方法只在操作系统上运行该命令,因此您需要更改使用
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")
    
  • 不幸的是,在不了解你情况的更多细节的情况下,我无法提供更具体的建议

    虽然每种方法都有优点和缺点,但最好只实施您最了解的方法;如果你不能让一个工作,试试另一个


    一个好的,免费的在线学习资源是

    第2.2节详细介绍了可用于
    1.
    cd

    第3.3节第3节介绍了
    mv
    命令,该命令在
    2.
    中很有用

    第5.1节是关于I/O重定向的。了解“输出重定向”和
    操作符对于
    4.
    非常重要

    对于
    3.
    ,您必须查阅正在使用的perl程序的文档