Java OutputStream
OutputStream
is an abstract class in Java that represents an output byte stream. It is used to write data to a destination, such as a file, network connection, etc. It is part of the java.io
package and serves as the superclass for many other output stream classes.
Main Methods
1. void write(int b)
Usage: Writes the specified byte to this output stream.
Parameter:
b
- The byte to be written. Only the least significant 8 bits of the integerb
are written; the upper 24 bits are ignored.1
2
3OutputStream os = new FileOutputStream("example.txt");
os.write(65); // Writes the byte 'A'
os.close();
2. void write(byte[] b)
Usage: Writes
b.length
bytes from the specified byte array to this output stream.Parameter:
b
- The data to be written.1
2
3
4OutputStream os = new FileOutputStream("example.txt");
byte[] data = "Hello".getBytes();
os.write(data); // Writes the string "Hello"
os.close();
3. void write(byte[] b, int off, int len)
Usage: Writes
len
bytes from the specified byte array starting at offsetoff
to this output stream.Parameters:
b
- The data to be written.off
- The start offset in the data.len
- The number of bytes to write.
1
2
3
4OutputStream os = new FileOutputStream("example.txt");
byte[] data = "Hello, World!".getBytes();
os.write(data, 7, 6); // Writes "World!"
os.close();
4. void flush()
Usage: Flushes this output stream and forces any buffered output bytes to be written out.
Note: This is particularly useful when dealing with buffered streams to ensure that all data is actually written out.
1
2
3
4OutputStream os = new FileOutputStream("example.txt");
os.write(65); // Writes the byte
os.flush(); // Flushes the output stream
os.close();
5. void close()
Usage: Closes this output stream and releases any system resources associated with this stream.
Note: Once the stream is closed, further write operations will throw an
IOException
.1
2
3OutputStream os = new FileOutputStream("example.txt");
os.write(65);
os.close(); // Closes the stream
Best Practices
Ensure to Use
flush
: Always flush the stream to make sure all buffered data is written out.Close the Stream: Always close the stream after the write operations are completed to avoid resource leaks.
Handle Exceptions: Properly handle
IOException
when working with output streams.
Example Usage
Here is a complete example demonstrating how to use OutputStream
:
1 | import java.io.FileOutputStream; |
Explanation
- Initialization: An
OutputStream
object is created usingFileOutputStream
to write data to a file namedexample.txt
. - Writing Data: The
write(byte[] b)
method writes the string “Hello, World!” to the file. - Flushing the Stream: The
flush()
method ensures that all the data is written out to the file. - Closing the Stream: The
close()
method is called to release any system resources associated with the stream. - Exception Handling:
IOException
is caught and handled to ensure that the program does not crash if an error occurs during the writing process.
By following these best practices and using the methods provided by OutputStream
, you can effectively manage and write byte streams in Java applications.