救命啊!!!在Java中编译c++程序出现了个毛病啊!!!!
为什么用注释那句不行用注释下面那句就可以啊!!!高手帮帮忙啊!!!
import java.io.*;
public class vcCom
{
public static void main(String[] args)
{
try
{
Runtime run1 = Runtime.getRuntime();
run1.exec("cl vcText.cpp",null,new File("C:\\Documents and Settings\\Administrator\\桌面\\"));
Thread.sleep(1000);
Runtime run2 = Runtime.getRuntime();
//Process p=run2.exec("vcText.exe",null,new File("C:\\Documents and Settings\\Administrator\\桌面\\"));
Process p=run2.exec("C:\\Documents and Settings\\Administrator\\桌面\\vcText.exe");
InputStream br = p.getInputStream();
int s;
while ((s = br.read()) != -1)
{
System.out.print((char) s);
}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("888");
}
}
}
//待编译的程序如下vcText.cpp
/*#include <iostream.h>
int main()
{
cout < < "HelloWorld!" < < endl;
return 0;
}
*/ --------------------编程问答-------------------- 查看了一下JDK(for java)的确存在Process exec(String[] cmdarray, String[] envp, File dir)
这个方法,但是C++里面是否存在就要查看另外的文档了
另外看看抛什么异常,再应对 --------------------编程问答-------------------- 如果用注释的那句抛出如下异常,望高手不吝赐教!!!
java.io.IOException: Cannot run program "vcText" (in directory "C:\Documents and Settings\Administrator\桌面"): CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at OJSystem.vcCom.main(vcCom.java:17)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 3 more --------------------编程问答-------------------- 你的vcText文件放在哪个目录下
补充:Java , Eclipse