import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class CmdTest {
public CmdTest() {} public static void main(String[] main) {
String cmd = "cmd.exe /k ping www.baidu.com";
String message = null;
try {
Process process = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(
new InputStreamReader(process.getInputStream()));
while((message = br.readLine()) != null){
//if(!message.equals(""))
System.out.print(message+"\n");
}
br.close();
process.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
这里我已经加上message!=null条件了,但是为什么还是跟原来命令行显示的多了些空行呢?如果再加上注释部分的条件,显示就跟原来命令行看到的不一样了,请问要怎么做才能正确显示呢?
null和“”不是一个概念的,null是没有,而“”是有,但是值是空串的,所以你加后面的条件结果肯定不一样的哦
这是命令行显示的
这是javaIO流输出的
改成:
if(message.length()!=0)