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