gpt4 book ai didi

java - 从 java 运行 perl 脚本的问题

转载 作者:行者123 更新时间:2023-11-29 09:00:13 24 4
gpt4 key购买 nike

我正在尝试从 Java 代码运行 Perl 脚本文件,但它无法正常工作。我修改了 Perl 脚本并将参数放入其中,而不是通过 Java 代码传递它们。从命令行运行脚本时该脚本工作正常,但它在 Java 代码中不起作用,总是打印“错误”!!我写了另一个 Perl 脚本 (test.pl),它可以工作,但所需的脚本没有?我在 netbeans7.3.1 (ubuntu) 工作。这是我的代码:

package program;

import java.io.*;
//import java.lang.ProcessBuilder;
/**
*
* @author seed
*/
public class Program {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException,Exception {
File input = new File("//home//seed//Downloads//MADA-3.2//sample");
FileOutputStream out = new FileOutputStream(input);
PrintWriter p = new PrintWriter(out);
String s = "قصدنا في هذا القول ذكر";
p.println(s);

p.close();

Process pro = Runtime.getRuntime().exec("perl /home/seed/Downloads/MADA+TOKAN.pl");

pro.waitFor();
if(pro.exitValue() == 0)
{
System.out.println("Command Successful");

}
else{
System.out.print("wrong");}

// TODO code application logic here
}
}

最佳答案

我的猜测是某种字符串/路径转换问题。

我在你的代码中看到了 utf8 字符串,可能是路径被转换成了什么。

文件名(MADA+TOKAN.pl)有特殊字符,最好是MADAplusTOKAN.pl。

此外,您在脚本中的字符串和所讨论的字符串也不相同:(MADA 3.2 != MADA-3.2)

perl MADA+TOKAN.pl config=/home/seed/Downloads/mada/MADA-3.2/config files/template.madaconfig file=/home/seed/Downloads/mada/MADA 3.2/inputfile

对比

perl MADA+TOKAN.pl config=/home/seed/Downloads/MADA-3.2/config-files/template.madaconfig file=/home/seed/Downloads/MADA-3.2/sample

关于java - 从 java 运行 perl 脚本的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com