Saturday, October 18, 2025
HomeLanguagesJavaWrite HashMap to a Text File in Java

Write HashMap to a Text File in Java

The HashMap class in Java implements the Serializable interface so that its objects can be written or serialized to a file using the ObjectOutputStream. However, the output file it produces is not in the human-readable format and may contain junk characters.

Serialization: It is a process of writing an Object into a file along with its attributes and content. It internally converts the object into a stream of bytes.

De-Serialization: It is a process of reading the Object and its properties from a file along with the Object’s content.

If we want to write a HashMap object to a plain text file, we need a simple and understandable code to write on the HashMap and then insert the Map into the Text File. We can write the code in the form of key-Value Pair of a map Object to a File and each line File will contain the Key-Value Pair

Approach

  • In the below class we are storing the HashMap content in a hashmap.ser serialized file.
  • Once when we run the below code it would produce a hashmap.ser file. This file would be used in the next class for de-serialization.
  • The hashmap.ser serialised file can be Stored to any Location with describing it’s Location Like Below
  • So we need the Location to write the HashMap in it.
  • So for that need to Provide the External Location to Store the HashMap 
final static String outputFilePath = "F:/Serialisation/write.txt";

Create the HashMap of String Key and String Value Pair

HashMap<String, String> map = new HashMap<String, String>();

Create the File Object:

File file = new File(outputFilePath);

Using the file object we will write the HashMap input using the function BufferedWriter(File_Path)

 bf = new BufferedWriter( new FileWriter(file));

and then at last close the File 

 bf.close();

Writing to File 

Java




// Java program to write HashMap to a file
  
import java.io.*;
import java.util.*;
  
class GFG {
  
    final static String outputFilePath
        = "F:/Serialisation/write.txt";
  
    public static void main(String[] args)
    {
  
        // create new HashMap
        HashMap<String, String> map
            = new HashMap<String, String>();
  
        // key-value pairs
        map.put("rohit", "one");
        map.put("Sam", "two");
        map.put("jainie", "three");
  
        // new file object
        File file = new File(outputFilePath);
  
        BufferedWriter bf = null;
  
        try {
  
            // create new BufferedWriter for the output file
            bf = new BufferedWriter(new FileWriter(file));
  
            // iterate map entries
            for (Map.Entry<String, String> entry :
                 map.entrySet()) {
  
                // put key and value separated by a colon
                bf.write(entry.getKey() + ":"
                         + entry.getValue());
  
                // new line
                bf.newLine();
            }
  
            bf.flush();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        finally {
  
            try {
  
                // always close the writer
                bf.close();
            }
            catch (Exception e) {
            }
        }
    }
}


Output:

RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS