下面这段程序调用PING命令后PING命令不自动结束。怎样能让PING命令执行完自动结束呢。PING不结束得不到返回值。是不是jdk版本的问题 ?
代码如下:
package pda.cmd;
import java.io.PrintWriter;
import java.io.PrintStream;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.io.StringReader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.File;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class useping {
private boolean isRunning=true;
public useping() {
}
public void run(){
}
public static void main(String[] args){
try {
System.out.println("ping 127.0.0.1");
Process proc=Runtime.getRuntime().exec("cmd /c ping 127.0.0.1");
System.out.println("ping finished");
try {
System.out.println("wait for exit");
proc.waitFor();
System.out.println("exited");
} catch (InterruptedException e) {
}
int val = proc.exitValue();
System.out.println("exitvalue is : "+val);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
代码如下:
package pda.cmd;
import java.io.PrintWriter;
import java.io.PrintStream;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.io.StringReader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.File;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class useping {
private boolean isRunning=true;
public useping() {
}
public void run(){
}
public static void main(String[] args){
try {
System.out.println("ping 127.0.0.1");
Process proc=Runtime.getRuntime().exec("cmd /c ping 127.0.0.1");
System.out.println("ping finished");
try {
System.out.println("wait for exit");
proc.waitFor();
System.out.println("exited");
} catch (InterruptedException e) {
}
int val = proc.exitValue();
System.out.println("exitvalue is : "+val);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
解决方案 »
- 覆写不同包中的父类方法不起作用
- Overriding与Overloading
- 最后30分了。 时间只剩不下多少 请kao331431214进来下
- 如何识别一个文件中的注释
- 在提示工具中如何加入图标??
- LoginServlet 编译
- swing 新手,如何动态的加载jcheckBox到窗口中
- 能帮我看看这个错误(有全代码,只99行)(swing)!
- 请问用appletviewer看html时,appletviewer显示APPLET没有初始化,该如何解决?(.java文件已通过编译)
- 哪里有JB5 的中文教材?
- 关于日期格式处理的问题(检测环节比较复杂,可否实现)
- 为什么Object类中还有protected方法,不是所有的类都继承自Ojbect么?
int ch = -1;
while((ch = is.read()) >= 0);
import java.io.PrintWriter;
import java.io.PrintStream;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.io.StringReader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.File;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class useping {
private boolean isRunning=true;
public useping() {
}
public void run(){
}
public static void main(String[] args){
try {
System.out.println("ping 127.0.0.1");
Process proc=Runtime.getRuntime().exec("cmd /c ping 127.0.0.1");
System.out.println("ping finished");
try {
System.out.println("wait for exit");
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String instr = in.readLine();
while(!"exit".equals(instr)){
instr = in.readLine();
System.out.println(instr);
}
System.out.println("exited");
} catch (InterruptedException e) {
}
int val = proc.exitValue();
System.out.println("exitvalue is : "+val);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
Process proc = Runtime.getRuntime().exec("cmd /c ping 127.0.0.1");
System.out.println("ping finished");
InputStream is = proc.getInputStream();
int ch = -1;
while((ch = is.read()) >= 0);
System.out.println(proc.exitValue());
}