Prpcess方面的问题,为什么我这个javac 和 java命令成功执行,获取终端执行结果却获取不到

Process process = runtime.exec("/bin/sh");
Thread.sleep(1000);//防止cmd.exe程序未启动,当然也可以直接使用javac命令
//往控制台注入命令
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
bw.write("javac "+className+".java \n");
bw.flush();

bw.write("java "+className+" \n");
bw.close();
//获取控制台输出的结果
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String content = null;
while((content = br.readLine()) != null) {
System.out.println(content);//如果想把结果输出到页面,直接定义变量就行
}

为什么我这个javac 和 java命令成功执行,获取终端执行结果却获取不到

2个回答

其实问题已经解决了,原因在于使用的idea,它在运行的时候有独特的打包方式,跟eclipse不一样,里面涉及到文件链接的方式,当然具体解决方式还不太知道

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问