We will look into the Method that allows us to read the HashMap Text from the file or how we can De-serialised the File
De-Serialization: Here we are reproducing the HashMap object and it’s content from a serialized file.
Approach:
Firstly the method/Function HashMapFromTextFile will have the Method bufferedReader which read the Line of the text File and insert into the map and then return the Map
bf = new BufferedWriter( new FileWriter(file_name) );
- Firstly we call the BufferedReader to read each line.
- At each Line, We have the Key-Value Pair. So, Now split it by “:” and same time put the key and Value to the map
- and return the Map
Java
// Java program to reading // text file to HashMap import java.io.*;
import java.util.*;
class GFG {
final static String filePath
= "F:/Serialisation/write.txt" ;
public static void main(String[] args)
{
// read text file to HashMap
Map<String, String> mapFromFile
= HashMapFromTextFile();
// iterate over HashMap entries
for (Map.Entry<String, String> entry :
mapFromFile.entrySet()) {
System.out.println(entry.getKey() + " : "
+ entry.getValue());
}
}
public static Map<String, String> HashMapFromTextFile()
{
Map<String, String> map
= new HashMap<String, String>();
BufferedReader br = null ;
try {
// create file object
File file = new File(filePath);
// create BufferedReader object from the File
br = new BufferedReader( new FileReader(file));
String line = null ;
// read file line by line
while ((line = br.readLine()) != null ) {
// split the line by :
String[] parts = line.split( ":" );
// first part is name, second is number
String name = parts[ 0 ].trim();
String number = parts[ 1 ].trim();
// put name, number in HashMap if they are
// not empty
if (!name.equals( "" ) && !number.equals( "" ))
map.put(name, number);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
// Always close the BufferedReader
if (br != null ) {
try {
br.close();
}
catch (Exception e) {
};
}
}
return map;
}
} |