Java OutputStream
OutputStream
is an abstract class in Java that provides a standard way of writing data to different destinations in the form of bytes. It is the superclass of all classes that represent an output stream of bytes.
The most commonly used subclasses of OutputStream
include:
FileOutputStream
: used for writing data to a file.ByteArrayOutputStream
: used for writing data to a byte array.DataOutputStream
: used for writing primitive data types to an output stream.
Here's an example of using the FileOutputStream
class to write data to a file:
import java.io.*; public class FileOutputStreamExample { public static void main(String[] args) { try { FileOutputStream output = new FileOutputStream("file.txt"); String data = "Hello, world!"; byte[] bytes = data.getBytes(); output.write(bytes); output.close(); } catch (IOException e) { e.printStackTrace(); } } }
In this example, we create a FileOutputStream
object and pass the name of the file we want to write to as a parameter. We then convert a string to a byte array using the getBytes
method and write the data to the file using the write
method of the FileOutputStream
object. Finally, we close the FileOutputStream
object using the close
method to release any system resources associated with the stream.
It's important to note that the write
method of the OutputStream
class writes a single byte at a time, so it is not very efficient when writing large amounts of data. To write data more efficiently, you can use the BufferedOutputStream
class, which writes data into an internal buffer and provides methods for writing data in larger chunks.
Overall, the OutputStream
class provides a flexible and efficient way of writing data to different destinations in Java. By using the various subclasses of OutputStream
, you can write data to files, network connections, and other output destinations in the form of bytes.