java Runtime类的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:26:58
我写了一个关于Runtime类的例子:
import java.io.*;
public class RunTimeHello {
public static void main(String[] args) throws Exception{
Runtime rt=Runtime.getRuntime();
Process p1 = rt.exec("javac Hello.java");
p1.waitFor();
Process p2 = rt.exec("java Hello");
InputStream is = p2.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String s;
while((s=br.readLine())!=null)
{
System.out.println(s);
}
p2.waitFor();
}
}
当Hello.java为如下时,可以正常输出Hello World!
import java.io.*;

public class Hello {
public static void main(String[] args) throws Exception {
System.out.println("Hello world!");
}
}
但是当我把Hello.java改为如下时,运行不了后进程一直在等待输入,但是又不能输入,就一直卡在哪。谁能给点意见,应该怎样修改才能可以输入并正常运行完Hello.java并输出结果。
import java.io.*;

public class Hello {
public stat

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Hello {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s;
if((s=br.readLine())!=null){
System.out.println(s);
System.exit(0);
}
}
}

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

流的输入,他会一直卡在那里阻塞等待