Leer archivo de texto en Java HashMap

Veremos el método que nos permite leer el texto HashMap del archivo o cómo podemos deserializar el archivo

Deserialización : aquí estamos reproduciendo el objeto HashMap y su contenido de un archivo serializado.

Acercarse:

En primer lugar, el método/función HashMapFromTextFile tendrá el método bufferedReader que lee la línea del archivo de texto e inserta en el mapa y luego devuelve el mapa

bf = new BufferedWriter( new FileWriter(file_name) );
  • Primero llamamos al BufferedReader para leer cada línea.
  • En cada línea, tenemos el par clave-valor. Entonces, ahora divídalo por «:» y al mismo tiempo coloque la clave y el valor en el mapa
  • y devolver el mapa

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;
    }
}

Publicación traducida automáticamente

Artículo escrito por rohit2sahu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *