Java Process getInputStream() 方法



描述

Java Process getInputStream() 方法获取子进程的输入流。该流获取从由此 Process 对象表示的进程的标准输出流管道传输的数据。

声明

以下是java.lang.Process.getInputStream() 方法的声明

public abstract InputStream getInputStream()

参数

返回值

此方法返回连接到子进程的标准输出的输入流。

异常

检查记事本进程的输入流示例

以下示例演示了 Process getInputStream() 方法的用法。我们为记事本可执行文件创建了一个 Process 对象。然后使用 getInputStream() 方法检索记事本进程的输入流。使用输入流 available() 方法,如果可用则读取数据。然后使用 Thread.sleep() 方法,程序暂停 10 秒,最后使用 destroy() 方法终止进程。

package com.tutorialspoint;

import java.io.InputStream;

public class ProcessDemo {

   public static void main(String[] args) {
      try {
         // create a new process
         System.out.println("Creating Process...");
         String[] cmds = {"notepad.exe"};
         Process p = Runtime.getRuntime().exec(cmds);

         // get the input stream of the process and print it
         InputStream in = p.getInputStream();
         for (int i = 0; i < in.available(); i++) {
            System.out.println("" + in.read());
         }

         // wait for 10 seconds and then destroy the process
         Thread.sleep(10000);
         p.destroy();
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Creating Process...

检查计算器进程的输入流示例

以下示例演示了 Process getInputStream() 方法的用法。我们为计算器可执行文件创建了一个 Process 对象。然后使用 getInputStream() 方法检索计算器进程的输入流。使用输入流 available() 方法,如果可用则读取数据。然后使用 Thread.sleep() 方法,程序暂停 10 秒,最后使用 destroy() 方法终止进程。

package com.tutorialspoint;

import java.io.InputStream;

public class ProcessDemo {

   public static void main(String[] args) {
      try {
         // create a new process
         System.out.println("Creating Process...");
         String[] cmds = {"calc.exe"};
         Process p = Runtime.getRuntime().exec(cmds);

         // get the input stream of the process and print it
         InputStream in = p.getInputStream();
         for (int i = 0; i < in.available(); i++) {
            System.out.println("" + in.read());
         }

         // wait for 10 seconds and then destroy the process
         Thread.sleep(10000);
         p.destroy();
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Creating Process...

检查Windows资源管理器的输入流示例

以下示例演示了 Process getInputStream() 方法的用法。我们为Windows资源管理器可执行文件创建了一个 Process 对象。然后使用 getInputStream() 方法检索Windows资源管理器进程的输入流。使用输入流 available() 方法,如果可用则读取数据。然后使用 Thread.sleep() 方法,程序暂停 10 秒,最后使用 destroy() 方法终止进程。

package com.tutorialspoint;

import java.io.InputStream;

public class ProcessDemo {

   public static void main(String[] args) {
      try {
         // create a new process
         System.out.println("Creating Process...");
         String[] cmds = {"explorer.exe"};
         Process p = Runtime.getRuntime().exec(cmds);

         // get the input stream of the process and print it
         InputStream in = p.getInputStream();
         for (int i = 0; i < in.available(); i++) {
            System.out.println("" + in.read());
         }

         // wait for 10 seconds and then destroy the process
         Thread.sleep(10000);
         p.destroy();
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Creating Process...
java_lang_process.htm
广告