
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - BufferedOutputStream write() method
Description
The Java BufferedOutputStream write() method writes byte to the output stream. write() method writes the lowest byte (8 bits) of the given integer i to the output stream. The method writes a single byte, so only the least significant byte of the integer is considered (e.g., i & 0xFF).
Declaration
Following is the declaration for java.io.BufferedOutputStream.write(int b) method.
public void write(int b)
Parameters
b − byte to be written to the output stream.
Return Value
This method does not return any value.
Exception
IOException − If an I/O error occurs.
Example - Writing an integer to OutputStream
The following example shows the usage of Java BufferedOutputStream write(int b) method.
BufferedOutputStreamDemo.java
package com.tutorialspoint; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; public class BufferedOutputStreamDemo { public static void main(String[] args) throws Exception { ByteArrayOutputStream baos = null; BufferedOutputStream bos = null; try { // create new ByteArrayOutputStream baos = new ByteArrayOutputStream(); // create new BufferedOutputStream with baos bos = new BufferedOutputStream(baos); // assign integer int b = 87; // write to stream bos.write(b); // force the byte to be written to baos bos.flush(); // convert ByteArrayOutputStream to bytes byte[] bytes = baos.toByteArray(); // prints the byte System.out.println(bytes[0]); } catch(IOException e) { // if I/O error occurs. e.printStackTrace(); } finally { // releases any system resources associated with the stream if(baos!=null) baos.close(); if(bos!=null) bos.close(); } } }
Output
Let us compile and run the above program, this will produce the following result −
87
Example - Writing Single Characters to a File
The following example shows the usage of Java BufferedOutputStream write(int b) method.
BufferedOutputStreamDemo.java
package com.tutorialspoint; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class BufferedOutputStreamDemo { public static void main(String[] args) { try (BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("example.txt"))) { // Write individual characters as integers bos.write('H'); // Writes the character 'H' bos.write('i'); // Writes the character 'i' bos.write('!'); // Writes the character '!' // Ensure data is flushed to the file bos.flush(); System.out.println("Characters written to example.txt."); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Characters written to example.txt
Explanation
-
Input− Characters 'H', 'i', and '!' are written to the file using their ASCII integer values.
'H' (ASCII value 72), 'i' (ASCII value 105), and '!' (ASCII value 33) are written as bytes.
-
Flushing−
The flush() method ensures that the buffered data is written to the file immediately.
-
Output−
The file example.txt will contain−
Hi!
Example - Writing Byte Values Beyond ASCII Range
The following example shows the usage of Java BufferedOutputStream write(int b) method.
BufferedOutputStreamDemo.java
package com.tutorialspoint; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; public class BufferedOutputStreamDemo { public static void main(String[] args) { try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(baos)) { // Write integer values as bytes (only the lowest byte is written) bos.write(255); // 255 (0xFF) -> -1 in signed byte representation bos.write(128); // 128 (0x80) -> -128 in signed byte representation bos.write(65); // 65 (0x41) -> ASCII 'A' // Flush the buffer to the ByteArrayOutputStream bos.flush(); // Print the raw byte data in ByteArrayOutputStream byte[] result = baos.toByteArray(); System.out.print("Bytes written: "); for (byte b : result) { System.out.print(b + " "); } } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Bytes written: -1 -128 65
Explanation
-
Input−
The values 255, 128, and 65 are written to the stream.
-
Only the lowest byte of each integer is considered−
255 (0xFF) writes -1 (in signed byte representation).
128 (0x80) writes -128 (in signed byte representation).
65 (0x41) writes ASCII 'A'.
-
Flushing−
The flush() ensures the buffered bytes are written to the underlying ByteArrayOutputStream.
Key Points
-
Behavior−
The write(int i) method writes the least significant byte (8 bits) of the integer i.
Values beyond 255 are truncated, and only the lowest byte is written.
-
Flushing−
The flush() method ensures buffered data is written to the stream immediately.
-
Use Cases−
Writing single bytes or characters.
Handling raw byte-level data where only specific parts of integers need to be written.