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:
Contact Us