Java Process getOutputStream() Method



Description

The Java Process getOutputStream() method gets the output stream of the subprocess. Output to the stream is piped into the standard input stream of the process represented by this Process object.

Declaration

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

public abstract OutputStream getOutputStream()

Parameters

NA

Return Value

This method returns the output stream connected to the normal input of the subprocess.

Exception

NA

Checking output stream of Notepad Process Example

The following example shows the usage of Process getOutputStream() method. We've created a Process object for notepad executable. Then then using getOutputStream() method, output stream of notepad process is retrieved. Using output stream close() method, we're closing the output stream. 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.BufferedOutputStream;
import java.io.OutputStream;

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 output stream
         OutputStream out = p.getOutputStream();

         // close the output stream
         System.out.println("Closing the output stream...");
         out.close();
		 
         // 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...
Closing the output stream...

Checking output stream of Calculator Process Example

The following example shows the usage of Process getOutputStream() method. We've created a Process object for calculator executable. Then then using getOutputStream() method, output stream of calculator process is retrieved. Using output stream close() method, we're closing the output stream. 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.BufferedOutputStream;
import java.io.OutputStream;

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 output stream
         OutputStream out = p.getOutputStream();

         // close the output stream
         System.out.println("Closing the output stream...");
         out.close();
		 
         // 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...
Closing the output stream...

Checking output stream of Windows Explorer Process Example

The following example shows the usage of Process getOutputStream() method. We've created a Process object for windows explorer executable. Then then using getOutputStream() method, output stream of windows explorer process is retrieved. Using output stream close() method, we're closing the output stream. 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.BufferedOutputStream;
import java.io.OutputStream;

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 output stream
         OutputStream out = p.getOutputStream();

         // close the output stream
         System.out.println("Closing the output stream...");
         out.close();
		 
         // 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...
Closing the output stream...
java_lang_process.htm
Advertisements