Escriba HashMap en un archivo de texto en Java

La clase HashMap en Java implementa la interfaz Serializable para que sus objetos se puedan escribir o serializar en un archivo usando ObjectOutputStream . Sin embargo, el archivo de salida que produce no tiene un formato legible por humanos y puede contener caracteres no deseados.

Serialización : es un proceso de escritura de un objeto en un archivo junto con sus atributos y contenido. Convierte internamente el objeto en un flujo de bytes.

Deserialización : Es un proceso de lectura del Objeto y sus propiedades desde un archivo junto con el contenido del Objeto.

Si queremos escribir un objeto HashMap en un archivo de texto sin formato, necesitamos un código simple y comprensible para escribir en HashMap y luego insertar el mapa en el archivo de texto. Podemos escribir el código en forma de par clave-valor de un objeto de mapa en un archivo y cada archivo de línea contendrá el par clave-valor

Acercarse

  • En la siguiente clase, estamos almacenando el contenido de HashMap en un archivo serializado hashmap.ser.
  • Una vez, cuando ejecutamos el siguiente código, produciría un archivo hashmap.ser. Este archivo se usaría en la próxima clase para la deserialización.
  • El archivo serializado hashmap.ser se puede almacenar en cualquier ubicación describiendo su ubicación como se muestra a continuación
  • Entonces necesitamos la Ubicación para escribir el HashMap en ella.
  • Entonces, para esa necesidad de proporcionar la ubicación externa para almacenar el HashMap 
final static String outputFilePath = "F:/Serialisation/write.txt";

Cree el HashMap de la clave de string y el par de valor de string

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

Cree el objeto de archivo:

File file = new File(outputFilePath);

Usando el objeto de archivo, escribiremos la entrada HashMap usando la función BufferedWriter (File_Path)

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

y luego por fin cerrar el archivo 

 bf.close();

Escribir en archivo 

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) {
            }
        }
    }
}

Producción:

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 *