2010-07-12 66 views
3

我想将bash数据放入一个变量中。问题在于它是随机的。该命令每次都执行,我可以看到有一个X应用程序启动。但是,我的处理器可能太快或太慢,无法发出echo命令并启动对输入流的缓冲读取。在Java中丢失bash脚本的数据

我该如何得到这个工作?我需要以某种方式在缓冲读取器内发出命令。

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

public class test1 { 

public static void main() { 

    try { 
    Process proc = Runtime.getRuntime().exec("echo Gosh, I sure hope this comes back to java"); 
    BufferedReader read = new BufferedReader(new InputStreamReader(proc 
    .getInputStream())); 

    while (read.ready()) { 
    System.out.println(read.readLine()); 
    } 
    } catch (IOException e) { 
    System.out.println(e.getMessage()); 
    } 
} 

回答

0

这种替换while循环:

String line; 
while ((line = read.readLine())!=null) { 
    System.out.println(line); 
}