Java Process getErrorStream() Method



Description

The Java Process getErrorStream() method gets the error stream of the subprocess. The stream obtains data piped from the error output stream of the process represented by this Process object.

Declaration

Following is the declaration for java.lang.Process.getErrorStream() method

public abstract InputStream getErrorStream()

Parameters

NA

Return Value

This method returns the input stream connected to the error stream of the subprocess.

Exception

NA

Checking error stream of Notepad Process Example

The following example shows the usage of Process getErrorStream() method. We've created a Process object for notepad executable. Then then using getErrorStream() method, error stream of notepad process is retrieved. Using error stream available() method, we're reading error if available. Then using Thread.sleep() method, program is halted for 10 seconds and finally process is killed using destroy() method.

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 error stream of the process and print it
         InputStream error = p.getErrorStream();
         for (int i = 0; i < error.available(); i++) {
            System.out.println("" + error.read());
         }

         // wait for 10 seconds and then destroy the process
         Thread.sleep(10000);
         p.destroy();

      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Creating Process...

Checking error stream of Calculator Process Example

The following example shows the usage of Process getErrorStream() method. We've created a Process object for calculator executable. Then then using getErrorStream() method, error stream of calculator process is retrieved. Using error stream available() method, we're reading error if available. Then using Thread.sleep() method, program is halted for 10 seconds and finally process is killed using destroy() method.

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 error stream of the process and print it
         InputStream error = p.getErrorStream();
         for (int i = 0; i < error.available(); i++) {
            System.out.println("" + error.read());
         }

         // wait for 10 seconds and then destroy the process
         Thread.sleep(10000);
         p.destroy();

      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Creating Process...

Checking error stream of Windows Explorer Process Example

The following example shows the usage of Process getErrorStream() method. We've created a Process object for windows explorer executable. Then then using getErrorStream() method, error stream of windows explorer process is retrieved. Using error stream available() method, we're reading error if available. Then using Thread.sleep() method, program is halted for 10 seconds and finally process is killed using destroy() method.

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 error stream of the process and print it
         InputStream error = p.getErrorStream();
         for (int i = 0; i < error.available(); i++) {
            System.out.println("" + error.read());
         }

         // wait for 10 seconds and then destroy the process
         Thread.sleep(10000);
         p.destroy();

      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Creating Process...
java_lang_process.htm
Advertisements