Java 读取perl脚本错误:CreateProcess错误=193,%1不是有效的Win32应用程序
我试图从perl文件中读取perl脚本,但得到CreateProcess error=193,%1不是有效的Win32应用程序,我不知道如何解决此问题 下面的代码就是我现在拥有的代码Java 读取perl脚本错误:CreateProcess错误=193,%1不是有效的Win32应用程序,java,perl,Java,Perl,我试图从perl文件中读取perl脚本,但得到CreateProcess error=193,%1不是有效的Win32应用程序,我不知道如何解决此问题 下面的代码就是我现在拥有的代码 public static void Extract(){ Process process; try { String testFile = "C:\\Users\\luenwong\\Desktop\\hello_world.pl"; process =
public static void Extract(){
Process process;
try
{
String testFile = "C:\\Users\\luenwong\\Desktop\\hello_world.pl";
process = Runtime.getRuntime().exec(testFile);
process.getOutputStream();
process.waitFor();
if(process.exitValue() == 0)
{
System.out.println("Command Successful");
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while((line = br.readLine()) != null){
sb.append(line).append("\n");
}
String answer = sb.toString();
System.out.println("Answer "+ answer);
}
else
{
System.out.println("Command Failure");
}
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}
}
我发现有些人和我有同样的错误,但他们试图读取bash文件,而不是perl脚本。所以我想知道这会不会是和他们一样的错误。谢谢您的帮助。您是否安装了Perl?Windows没有安装Perl,这意味着您需要从源代码编译Perl,或者为Windows安装Perl发行版。Windows的一些流行Perl发行版是、ActiveState和 就我个人而言,我已经养成了在Windows中键入“perlscript.pl”而不是“script.pl”来运行perl脚本的习惯。第二种方法似乎就是您尝试使用的方法,它依赖于在Windows中设置文件关联,以便操作系统知道对所有*.pl文件使用perl.exe。要了解是否为.pl文件设置了文件关联,可以打开命令提示符并键入“assoc.pl”。如果您没有看到为*.pl文件设置了文件关联,那么您需要修改代码,调用“perl C:\Users\luenwong\Desktop\hello\u world.pl”而不是“C:\Users\luenwong\Desktop\hello\u world.pl”。或者您可以尝试修复文件关联。通过快速搜索,我找到了这组用于在Windows7上执行此操作的。其他Windows操作系统的步骤可能略有不同 我无法帮助调试Java代码中的问题,但是如果您的代码正在执行我认为它正在执行的操作,那么您可能没有安装Perl,或者没有为*.pl文件设置文件关联。因此,验证是否安装了Perl并检查文件关联将是调试Perl方面的第一步