Java - OutputStream write(int b) method



Description

The Java OutputStream write(int b) method writes the specified byte to this output stream. The general contract for write is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

Subclasses of OutputStream must provide an implementation for this method.

Declaration

Following is the declaration for java.io.OutputStream.write(int b) method.

public abstract void write(int b)

Parameters

b − The byte

Return Value

This method does not return a value.

Exception

IOException − If an I/O error occurs. In particular, an IOException is thrown if the output stream is closed.

Example - Usage of OutputStream write(int b) method

The following example shows the usage of OutputStream write(int b) method.

OutputStreamDemo.java

package com.tutorialspoint;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class OutputStreamDemo {
   public static void main(String[] args) {
      try {
         // create a new output stream
         OutputStream os = new FileOutputStream("test.txt");

         // craete a new input stream
         InputStream is = new FileInputStream("test.txt");

         // write something
         os.write(70);
         os.write(71);

         // read what we wrote
         for (int i = 0; i < 2; i++) {
            System.out.print("" + (char) is.read());
         }
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

Output

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

FG

Example - Writing a single byte to a file

The following example shows the usage of OutputStream write(int b) method.

OutputStreamDemo.java

package com.tutorialspoint;

import java.io.FileOutputStream;
import java.io.IOException;

public class OutputStreamDemo {
   public static void main(String[] args) {
      try {
         FileOutputStream fos = new FileOutputStream("output_int1.txt");

         // Write ASCII value of 'A' (65)
         fos.write(65);

         fos.close();
         System.out.println("Character 'A' written to file.");
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

Output

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

Character 'A' written to file.

Explanation

  • The write(int b) method writes the lowest 8 bits of the integer (i.e., one byte).

  • Here, 65 corresponds to the ASCII character 'A'.

  • So, the file output_int1.txt will contain the letter A.

Example - Writing multiple single bytes using write(int b)

The following example shows the usage of OutputStream write(int b) method.

OutputStreamDemo.java

package com.tutorialspoint;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class OutputStreamDemo {
   public static void main(String[] args) {
      try {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();

         // Write characters 'H', 'i', '!'
         baos.write(72); // 'H'
         baos.write(105); // 'i'
         baos.write(33); // '!'

         byte[] result = baos.toByteArray();
         for (byte b : result) {
            System.out.print((char) b);
         }

         baos.close();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

Output

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

Hi!

Explanation

  • Each call to write(int b) writes one byte.

  • This writes 'H', 'i', and '!' into a memory buffer.

  • toByteArray() retrieves the full result, which prints: Hi!

java_io_outputstream.htm
Advertisements