我正在尝试从perl文件中读取perl脚本,但是却遇到CreateProcess错误= 193,%1不是有效的Win32应用程序,并且我不知道如何解决此问题。
下面的代码是我现在拥有的。
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发行版是Strawberry Perl,ActiveState的ActivePerl和Citrus Perl。
就个人而言,我已经习惯于键入“ perl script.pl”,而不仅仅是“ script.pl”来在Windows中运行我的Perl脚本。第二种方法似乎是您要使用的方法,它依赖于在Windows中设置文件关联,以便操作系统知道对所有* .pl文件使用perl.exe。要了解是否为.pl文件设置了文件关联,可以打开命令提示符并键入'assoc .pl'。如果没有看到已为* .pl文件设置了文件关联,则需要通过调用“ perl C:\ Users \ luenwong \ Desktop \ hello_world.pl”而不是“ C:\ Users \”来修改代码luenwong \ Desktop \ hello_world.pl”。或者,您可以尝试修复文件关联。快速搜索后,我发现了这组说明 在Windows 7上执行此操作的步骤。对于其他Windows操作系统,步骤可能会稍有不同。
我将无法帮助调试Java代码中的问题,但是如果您的代码正在执行我认为正在执行的操作,则可能表明您未安装Perl或未设置文件关联* .pl文件。因此,验证Perl已安装并检查文件关联将是调试Perl方面的第一步。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句