当前位置: 技术问答>java相关
如何取得exec被调用程序的input信息?
来源: 互联网 发布时间:2015-06-08
本文导语: 我在程序中使用 try { Process proc=Runtime.getRuntime().exec("cmd.exe /c dir"); // process = Runtime.getRuntime().exec (command); InputStreamReader ir=new InputStreamReader(proc.getInputStream()); LineNumberReader input = ne...
我在程序中使用
try
{
Process proc=Runtime.getRuntime().exec("cmd.exe /c dir");
// process = Runtime.getRuntime().exec (command);
InputStreamReader ir=new InputStreamReader(proc.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
String line;
while ((line = input.readLine ()) != null)
System.out.println(line);
}
catch (IOException e2)
{
System.out.println("error compiler");
}
时,返回信息一切正常,但当我将
Process proc=Runtime.getRuntime().exec("cmd.exe /c dir");
改为:Process proc=Runtime.getRuntime().exec("cmd.exe /c javac 1.java");时却没有返回信息,或者说返回信息为空?
请问我如何才能取得以上调用的返回信息?
try
{
Process proc=Runtime.getRuntime().exec("cmd.exe /c dir");
// process = Runtime.getRuntime().exec (command);
InputStreamReader ir=new InputStreamReader(proc.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
String line;
while ((line = input.readLine ()) != null)
System.out.println(line);
}
catch (IOException e2)
{
System.out.println("error compiler");
}
时,返回信息一切正常,但当我将
Process proc=Runtime.getRuntime().exec("cmd.exe /c dir");
改为:Process proc=Runtime.getRuntime().exec("cmd.exe /c javac 1.java");时却没有返回信息,或者说返回信息为空?
请问我如何才能取得以上调用的返回信息?
|
本来就是没有返回信息嘛!
你在命令行直接输入javac 1.java
如果正常的话也没有任何信息打印在屏幕上。
另外,一个程序的输出
包括标准输出和标准错误两部分。
所以你可以采用如下的代码讲错误信息也一起打印出来。
import java.io.*;
public class RunIt
{
public static void main(String[] args) throws Exception
{
run(args);
}
public static void run(String[] cmds) throws Exception
{
String s = "cmd /c";
for(int i=0;i
你在命令行直接输入javac 1.java
如果正常的话也没有任何信息打印在屏幕上。
另外,一个程序的输出
包括标准输出和标准错误两部分。
所以你可以采用如下的代码讲错误信息也一起打印出来。
import java.io.*;
public class RunIt
{
public static void main(String[] args) throws Exception
{
run(args);
}
public static void run(String[] cmds) throws Exception
{
String s = "cmd /c";
for(int i=0;i