×

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

Java Networking

Networking Networking is a way of communicating the devices. It is made up of various technologies like computers, switches, routers that are interconnected and share data among themselves. The two common network protocols: 1. TCP/IP TCP stands for...

10 minutes read.

Differences and Similarities between HashSet, LinkedHashSet and TreeSet in Java

HashSet Class: The HashSet is a class that executes the Setpoint of interaction. It is utilised to store the items in a hashtable; a hashtable is an information structure which holds...

10 minutes read.

Deque in Java

Deque in java collections with Example Deque is short for “double-ended queue.” It is a linear collection that extends the Queue interface and supports insertion and deletion of the element at both the...

3 minutes read.

Command Class in Java

We use the command class to run commands against the database. The Command class may find a set of parameter objects for use in sending values to a stored procedure...

3 minutes read.

How to Convert String to Object in Java

How to Convert String to Object in Java The Object is the super class of all classes. So you can assign a string to Object directly. There are two methods to...

3 minutes read.

Equidigital in Java

In this section, we will understand what is an equidigital number and how to write Java programs to locate them. It is commonly asked in academic settings and Java coding...

4 minutes read.

Java Future Example

Future is an interface in the Java language that is a part of  java.util.concurrent package. It serves as a symbol for the output of an asynchronous computation. The interface offers ways to determine whether a computation has finished,  wait for it to finish, and receive its result. Once the task or calculation is finished, it cannot be undone. A Future interface offers ways to determine whether the computation is finished, to wait for it to finish, and to receive the computation's results. When the computation...

3 minutes read.

How to Develop Programming Logic in Java?

Introduction In the world of software development, Java programming language is one of the most powerful programming languages that is used to create a wide range of applications. It includes desktop,...

18 minutes read.

Java Math atan2() Method

The atan2() method of Math class returns an angle theta from the conversion of rectangular coordinates to polar coordinates. Syntax: public static double atan2(double y, double x) Parameters: The parameter ‘y’ represents the ordinate...

3 minutes read.

Can Abstract Classes have Static Methods in Java

Abstract Class An abstract class in Java is one that explicitly uses the keyword "abstract" in its declaration. There are options for both non-abstract and abstract techniques (method with the body)....

4 minutes read.

Java 9 Tutorial

The Java 9 is most popular release of java programming to make it platform modular. It is used to improve JDK and java implementation security. It provides JAVA SE and...

3 minutes read.

Java Technologies List

Introducing Java technology is not necessary. Everyone across the globe is still in awe of Java's incredible capabilities for developing mobile apps and websites. Of course, you can be persuaded...

8 minutes read.

Java String lastIndexOf() method

Java String lastIndexOf() method returns last index of character or substring in a String. Syntax: Method Description int lastIndexOf(int ch)It returns last index position for the given char valueint lastIndexOf(int ch, int...

2 minutes read.

Thread Concept in Java

What is a Thread? A subprocess that is lightweight in Java is known as a thread. It is the smallest unit of a process. For the running of multiple tasks parallelly...

3 minutes read.

Java Solid Principles

Java implements the object-oriented SOLID principles for the design of software architecture. Solid Principles Java implements the object-oriented SOLID principles for the design of software architecture.   Five guiding principles transformed...

4 minutes read.

Java String compareTo() Method

compareTo() method is used to compare the two specified Strings based on the alphabetical order(lexicographical order) of their characters.It returns positive number ,negative number or 0 Syntax: public int compareTo(String anotherString) Parameters: anotherString: the...

2 minutes read.

Java Boolean logicalXor() Method

The logicalXor() method of Java Boolean class returns the result of implementing logical XOR operation on the specified Boolean operands. Syntax: public static boolean logicalXor (boolean a, boolean b) Parameters: The parameters ‘a’ and...

2 minutes read.

Java Math.multiplyExact() method in Java

Java has an inbuilt math function called Math.multiplyExact() that returns the sum of the parameters. If the result exceeds an integer, an exception is thrown. There is no need to...

2 minutes read.

Java Command Line Argument

Command-line arguments are passed to the main() method when we want to pass information into a program during runtime. It is the information that directly follows the program’s name on the...

1 minute read.

Java Integer longValue() method

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

1 minute read.