Java Byte streams are used to perform input and output of 8-bit bytes. To write Bytes using BytesStream to a file Java provides a specialized stream for writing files in the file system known as FileOutputStream. This stream provides the basic OutputStream functionality applied for writing the contents of a file.
FileOutputStream class is an output stream for writing data to a file. It is a class that belongs to byte streams.The FileOutputStream class extends the OutputStream abstract class.So it inherits all the standard OutputStream functionality for writing to a file.FileOutputStream provides only a low-level interface to writing data. You can create a FileOutputStream from a String pathname or a File object.The FileOutputStream constructors don’t throw a FileNotFoundException. If the specified file doesn’t exist, the FileOutputStream creates the file. The FileOutputStream constructors can throw an IOException if some other I/O error occurs. If the specified file does exist, the FileOutputStream opens it for writing. When you actually call a write() method, the new data overwrites the current contents of the file. To append data to an existing file, use a different constructor that accepts an append flag.
Now, discussing these inbuilt methods in order to understand internal working while dealing with file concepts in java.
- getBytes() Method
- write() Method
- close() Method
Considering them individually, discussing methods for greater understanding.
1. getBytes() Method
In order to write into a file, three arises a need to convert the text(content) into an array of bytes before writing it into the file. This method does the role by converting the characters in this String object to an array of byte values. The characters in the string are converted to bytes using the system’s default character encoding scheme.
Syntax:
public byte[] getBytes() ;
Parameter: NA
Returns: A byte array that contains the characters of this String
2. write() Method
The write(byte[] b) method of FileOutputStream class is used to write b.length bytes from the specified byte array to this file output stream
Syntax:
public void write(byte[] b) throws IOException ;
Parameters: The data
Returns: This method does not return any value.
3. close() Method
The close() method of FileOutputStream class is used to close the file output stream and releases all system resources associated with this stream.
Syntax:
public void close() ;
Parameter: NA
Returns: This method does not return any value.
Implementation:
- Creating an object of the file and passing the local directory path of the file as input.
- Storing random text into String datatype.
- Converting a string into a byte array.
- Write byte data to file output.
- Close the file using the close() method.
Example
Java
// Java program to write Bytes using ByteStream // Importing classes import java.io.FileOutputStream; import java.io.IOException; // Class class GFG { // Main driver method public static void main(String args[]) { // Try block to check if any exception/s occur try { // Step 1: Creating object of the file and // passing local directory path of file as input FileOutputStream fout = new FileOutputStream( "demo.txt" ); // Custom text to be written down in above file // Step 2: Storing text into String datatype String s = "Welcome to GFG! This is an example of Java program to write Bytes using ByteStream." ; // Step 3: Converting string into byte array byte b[] = s.getBytes(); // Step 4: Write byte data to file output fout.write(b); // Step 5: Close the file using close() method fout.close(); } // Catch block to handle exceptions catch (IOException e) { // Display and print the exception System.out.println(e); } } } |
Output:
A file is created in the path mentioned named as ‘demo’ with .txt extension
After clicking onto this file the desired results are as follows which is the same as the text stored in the string datatype in the above program