pinger.java

来自「JGRoups源码」· Java 代码 · 共 65 行

JAVA
65
字号
package org.jgroups.tests;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * @author Bela Ban
 * @version $Id$
 */
public class pinger {
    final String PING="ping 127.0.0.1";

    private void start() throws IOException, InterruptedException {
        Process p=Runtime.getRuntime().exec(PING);
        System.out.println("p=" + p);

        InputStream in=p.getInputStream(), err=p.getErrorStream();
        Reader in_reader, err_reader;
        in_reader=new Reader(in);
        err_reader=new Reader(err);
        in_reader.start();
        err_reader.start();

        in_reader.join();
        err_reader.join();
        int rc=p.exitValue();
        String success=rc == 0? " (success)" : " (failed)";
        System.out.println("exit value=" + rc + success);
    }


    static class Reader extends Thread {
        InputStreamReader in;

        Reader(InputStream in) {
            this.in=new InputStreamReader(in);
        }

        public void run() {
            int c;
            StringBuffer sb=new StringBuffer();
            while(true) {
                try {
                    c=in.read();
                    if(c == -1)
                        break;
                    sb.append((char)c);
                }
                catch(IOException e) {
                    e.printStackTrace();
                    break;
                }
            }
            System.out.println(sb);
        }
    }

    public static void main(String[] args) throws IOException, InterruptedException {
        new pinger().start();
    }


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?