Process process = Runtime.getRuntime().exec(exec + " " + files);
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((input.readLine()) != null) {
System.out.println(input.readLine());
}
input.close();
//readline读取的是固定文本的内容,读取完成后不跳出循环
怎么会有null呢。。好歹也是比如readline!='quit'
readline不是读取完后返回null吗??
@i火舞: 恐怕不是这样的。readline 是等待读取。是一个wait的过程
@calvinK: 只能判断读到某个字符比如说:readline!='quit' 才能跳出循环么?但不知道读取的内容有什么怎么才能跳出呢?
@i火舞: 你要跳出循环总要有特定的条件的把,对不。比如输入了quit,比如等待了多少秒还没有输入推出
假定你的cmd程序一直没输入,则代码一直卡在readline()方法里面,方法里面把当前线程暂停了,等待输入返回。
@calvinK: 那么问题又回来了 条件就是input.readLine()返回null时跳出啊 现在问题就是 一直在等待读取不返回null 可以考虑加个时间 多次时间读取不到 跳出 。谢谢你的回答 分就给你了!!