Java - DataOutputStream writeBoolean(boolean v)



Description

The Java DataOutputStream writeBoolean(boolean v) method writes the specified source byte to the underlying output stream. The counter written is incremented by 1 on successful invocation.

Declaration

Following is the declaration for java.io.DataOutputStream.writeBoolean(boolean v) method −

public final void writeBoolean(boolean v)

Parameters

b − A boolean value to be written to the underlying stream.

Return Value

This method does not return any value.

Exception

IOException − If an I/O error occurs.

Example 1

The following example shows the usage of Java DataOutputStream writeBoolean(boolean b) method. We've created ByteArrayOutputStream and DataOutputStream reference. A boolean[] buf is initialized with some boolean values. A ByteArrayOutputStream object is created. Then DataOutputStream is initialized with ByteArrayOutputStream object created before. buf array is iterated to write boolean values to stream using writeBoolean() method. As next step, stream is flushed using flush() method and ByteArrayOutputStream is iterated to print the bytes written to the stream. Finally we're closing all the streams.

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
public class DataOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      ByteArrayOutputStream baos = null;
      DataOutputStream dos = null;
      boolean[] bools = {true, false, false, true, true, true};
      
      try {
         // create byte array output stream
         baos = new ByteArrayOutputStream();
         
         // create data output stream
         dos = new DataOutputStream(baos);
         
         // write to the stream from boolean array
         for(boolean bool: bools) {
            dos.writeBoolean(bool);
         }
         
         // flushes bytes to underlying output stream
         dos.flush();
   
         // for each byte in the baos buffer content
         for(byte b:baos.toByteArray()) {   
         
            // print byte
            System.out.print(b);
         }
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      } finally {
         // releases all system resources from the streams
         if(baos!=null)
            baos.close();
         if(dos!=null)
            dos.close();
      }
   }
}

Output

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

100111

Example 2

The following example shows the usage of Java DataOutputStream write(boolean b) method. We've created ByteArrayOutputStream and DataOutputStream reference. A ByteArrayOutputStream object is created. Then DataOutputStream is initialized with ByteArrayOutputStream object created before. We're writing few values to write() method. As next step, stream is flushed using flush() method and ByteArrayOutputStream is iterated to print the bytes written to the stream as characters. Finally we're closing all the streams.

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
public class DataOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      ByteArrayOutputStream baos = null;
      DataOutputStream dos = null;           
      try {
         
         // create byte array output stream
         baos = new ByteArrayOutputStream();
         
         // create data output stream
         dos = new DataOutputStream(baos);
         
         // write some values to stream
         dos.writeBoolean(true);
         dos.writeBoolean(false);         
         
         // flushes bytes to underlying output stream
         dos.flush();
   
         // for each byte in the baos buffer content
         for(byte b:baos.toByteArray()) {
         
            // print byte
            System.out.print(b);
         }         
      } catch(Exception e) {
         
         // if any error occurs
         e.printStackTrace();
      } finally {
         
         // releases all system resources from the streams
         if(baos!=null)
            baos.close();
         if(dos!=null)
            dos.close();
      }
   }
}

Output

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

10
java_dataoutputstream.htm
Advertisements