×

Java FileOutputStream

What is FileOutputStream?

When we need raw stream data written into a file, we need to look for another option: FileOutputStream. It is used when the file's data is byte-oriented. It comes under the java.io package and extends the abstract class Output stream. It implements the following interfaces, such as:

  • Closeable
  • Flushable
  • AutoCloseable

Why do we need FileOutputStream?

We utilize the File Writer and Buffered Writer classes to write text to a file. However, when there is a need to implement character-oriented classes, these classes do not allow binary data. And it was at this point that the requirement for FileOutputStream arose.

How to Use FileOutputStream

Following are the steps which demonstrate how to use FileOutputStream:

Importing the java.io.FileOutputStream package is the first step in creating a FileOutputStream. Once the package has been imported, FileOutputStream can be implemented by following the point below.

1. Using the path of the file

FileOutputStream ot = new FileOutputStream(String path, boolean value);
FileOutputStream ot = new FileOutputStream(String path);

In the first line we created a FileOutputStream which has a reference variable ot. This FileOutputStream includes the boolean parameter.

In the Second line, we created a FileOutputStream, which also has a reference variable ot. This FileOutputStream does not include the boolean parameter.

The parameter path is the path of the file provided by the user while writing the program.

Additionally, value is a boolean parameter that can be left blank. The new data will be added to the end of the current data in the file if the Boolean is set to true. If not specified or used, the new data will overwrite the file's previous data.

2. Making use of a file's object

FileOutputStream to = new FileOutputStream(File object);

In the above code, we have created an output stream that will be linked to the specified file object.

Constructors of FileOutputStream

FileOutputStream has the following constructors, such as:

1. FileOutputStream(File fl): This constructor is implemented when there is a need to write to a file that is specified by the file object.

Syntax:

FileOutputStream ft = new FileOutputStream(File fl);

2. FileOutputStream(Filefl, boolean): This constructor is implemented when there is a need to write to a file specified by the file object, and it also has a boolean parameter.

Syntax:

FileOutputStream ft = new FileOutputStream(File fl, boolean a);

3. FileOutputStream(FileDescripterfobj): This constructor is used to build a file output stream for writing to the provided file descriptor, representing an existent file descriptor in the file system.

Syntax:

FileOutputStream fout = new FileOutputStream(FileDescripterfobj);

4. FileOutputStream(String n): This constructor is used when a file output stream object must be created to write to the file with the specified name.

Syntax:

FileOutputStream ft = new FileOutputStream( String n);

5. FileOutputStream(String n, boolean a): This constructor is used is used to build a file output stream object that will write to the provided file.

Syntax:

FileOutputStream ft = new FileOutputStream(String n, boolean a);

Methods of FileOutputStream

Following are the methods provided by FileOutputStream.

1void close() This method is implemented when there is a need to close the current file output stream and free all the resources related to the stream.
2protected void finalize()   This method is used when all connections to the file need to be cleaned up. It also makes sure that the close method is invoked so that no references are left that are related to the stream.
3FileChannelgetChannel() It’s a   return type method. It returns a FileChannel object that is unique to the current file output stream.
4FileDescriptorgetFD() This is a return type method and, when implemented, will return the file descriptor related to the present stream.
5void write(byte[ ] a) This method writes bytes with the specified byte array length to the present output stream.
6void write(byte[] a, into, int l) This method writes bytes with the length of the specified byte array, which starts at offset o to the present output stream.
7void write(int c) This method is implemented when there is a need to write the specified byte to the present output stream.
8flush() This method is implemented when there is a need to clear the present output stream. This method makes all data from the output stream to be written to the destination.

Example

The FileOutputStream class is used to write data to a file in the following example. To write data to a file also requires creating a class object with the filename. The string's contents are stored and transformed to a byte array, which is then ( the content inside the byte array ) written to the file with the write() method. "Hello Everyone," is the text we'll write in the file.

import java.io.FileOutputStream;
public class a {
public static void main(String[] args) {
        String data = "Hello Everyone.";




        try {
            FileOutputStream output = new FileOutputStream("d://sample.txt");


            byte[] arr = data.getBytes();




output.write(arr);
System.out.println("code completed");
output.close();


}


catch(Exception e) {
            e.getStackTrace();
}
    }
}

Output

As we run the above code, we obtain the following output.

What is FileOutputStream?

We don't observe anything in the console, but we can see its text as we open the text file named sample.

What is FileOutputStream?

Related Topics

String Palindrome Program in Java

String Palindrome Program in Java The palindrome is a string, phrase, word, number, or other sequences of characters that can be read in both directions i.e. forward (left to right) and...

11 minutes read.

Java Program to Create Set of Pairs Using HashSet

HashSet in Java: HashSet is an assortment in Java that has a place with java.util bundle. It inside utilises HashMap to store components. It is an execution of the Set connection...

11 minutes read.

Gregorian Calendar Java Current Date

GregorianCalendar class uses the Gregorian and Julian calendars. Dates are calculated by projecting present laws forever backward and forward in time. As a consequence, GregorianCalendar may be utilised to create...

8 minutes read.

How to check if date is valid in Java?

In this article, you will acknowledge about how to verify if a date is valid or not. For this you will learn the approach, you will be able to write...

3 minutes read.

Java Strings

String class is the most used class in Java programming language. The string is the sequence of characters, which is treated as objects in Java. Creating String objects We create String objects...

5 minutes read.

Method Overloading In Java

If the same class consists of different methods with the same name and the methods can vary by different number of parameters then it is known as Method Overloading. Method...

2 minutes read.

What is string in Java why it's immutable

String in Java Strings are a series of characters commonly used in Java language, which are considered objects in the Java. To create and manipulate strings, java will provide the String...

4 minutes read.

Copy data/content from one file to another in java

In this article, you will be acknowledged about how to copy data or content from one file to another file. Also, you will be acknowledged about the classes and methods...

3 minutes read.

Java Program to find the smallest element in a tree

The variable min is used to store the data of the root, which is initially defined. The smallest node in the left subtree is then located by moving through the...

3 minutes read.

Convert JSON to Map in Java

JACKSON and GSON libraries are two extremely capable JSON-related libraries offered by Java. To efficiently work with the returned JSON data, we frequently need to convert JSON responses into a...

6 minutes read.

Streams in Java

The conventional Java SE 8 version came with many new peculiarities, out of which the most striking of which are assuredly lambda expressions and the method references. Streams and Streams...

14 minutes read.

Thread States in Java

An Item's Life Cycle (Thread States) A thread can be in any of the states mentioned above at any given time in Java. They are as follows: New Active I'm blocked or waiting Temporary...

3 minutes read.

Sort Dates in Java

The Collection class's sort() method, which is a component of the Comparator mechanism, arranges the data in decreasing order. The Comparator interface can be used to accomplish the goal while...

4 minutes read.

Java Integer doubleValue() method

The doubleValue() method of Integer class returns a double value for this Integer after a widening primitive conversion. Syntax public double doubleValue() Parameters NA Specified by This method is specified by doubleValue in class Number Return Value This...

1 minute read.

Swapping Program in Java

Swapping Program in Java The swapping program in Java is used to interchange the values of the two variables. For example, if X = 12 and Y = 24, then the...

4 minutes read.

Figurate Number in Java

There have been several uses for figurate or figural numerals throughout history. A number that may be expressed by regular, distinct geometric shapes with spaced evenly points is referred to...

4 minutes read.

Ramanujan Number or Taxicab Number in Java

In this section, we will discuss what a Ramanujan number (also known as a Hardy-Ramanujan number) is and how to use a Java programme to determine if a given integer...

3 minutes read.

How to add double quotes in a string in Java

Strings are indicated using double-quotes. Double quotes are not printed; the values inside the double quotes are printed. There are different methods for adding double quotes to the string, such...

2 minutes read.

Equilibrium Index of an Array in Java

An array's equilibrium index is the condition where the sum of items with lower and higher indices equals. For example, an array A=[-4,5 2,6,-5] where: a[0]=-4, a[1]=5, a[2]=2, a[3]=6, a[4]=-5 Now according...

4 minutes read.

Abstract classes in Java

Abstract classes in Java Java uses the 'abstract’ keyword to make a class abstract. Such classes are known as abstract classes, and the process is known as abstraction. In programming language, abstract...

4 minutes read.