Java - DataOutputStream writeByte(int value)



Description

The Java DataInputStream writeBytes(String s) method writes out the string to the underlying output stream as a sequence of bytes. Each character in the string is written out, in sequence, by discarding its high eight bits. If no exception is thrown, the counter written is incremented by the length of s.

Declaration

Following is the declaration for java.io.DataOutputStream.writeBytes(String s) method −

public final void writeBytes(String s)

Parameters

s − Source as string written as bytes to the 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 writeBytes(String b) method. We've created ByteArrayOutputStream and DataOutputStream reference. A String is initialized with some text. A ByteArrayOutputStream object is created. Then DataOutputStream is initialized with ByteArrayOutputStream object created before. String is written to stream using writeBytes() 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;
      String s = "Hello World!!";      
      try {
         
         // create byte array output stream
         baos = new ByteArrayOutputStream();
         
         // create data output stream
         dos = new DataOutputStream(baos);
         
         // write to the output stream from the string
         dos.writeBytes(s);
         
         // flushes bytes to underlying output stream
         dos.flush();
   
         // for each byte in the baos buffer content
         for(byte b:baos.toByteArray()) {
         
            // print value
            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 −

72 101 108 108 111 32 87 111 114 108 100 33 33  

Example 2

The following example shows the usage of Java DataOutputStream writeBytes(String b) method. We've created ByteArrayOutputStream and DataOutputStream reference. A ByteArrayOutputStream object is created. Then DataOutputStream is initialized with ByteArrayOutputStream object created before. As a special case, we're closing the stream and then writing the string to the stream to check if it allows writing to a closed stream. 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);
         
         // close the stream
         dos.close();
		 
         // write to the output stream from the string
         dos.writeBytes("Hello World!!");
         
         // flushes bytes to underlying output stream
         dos.flush();
   
         // for each byte in the baos buffer content
         for(byte b:baos.toByteArray()) {
            
            // print value
            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 −

72 101 108 108 111 32 87 111 114 108 100 33 33 
java_dataoutputstream.htm
Advertisements