Red de conocimiento informático - Material del sitio web - Cómo almacenar datos durante mucho tiempo en Java sin utilizar una base de datos

Cómo almacenar datos durante mucho tiempo en Java sin utilizar una base de datos

El almacenamiento de datos a largo plazo significa guardar datos (como en la memoria) en un dispositivo de almacenamiento que se puede guardar de forma permanente (como un disco duro, una unidad flash USB), lo que a menudo se denomina persistencia.

Las soluciones de persistencia más utilizadas incluyen bases de datos, archivos XML y almacenamiento de archivos. Una base de datos es un almacén que almacena y gestiona datos según una estructura de datos, que no se describirá en detalle a continuación. XML es un lenguaje de marcado extensible. Fue desarrollado originalmente para simplificar la transmisión de datos de documentos en Internet. Proporciona un formato de sintaxis unificado para describir la estructura de los datos. Generalmente, los archivos XML se utilizan para almacenar una pequeña cantidad de texto. requisitos de tipo.

El código de muestra utiliza la interfaz estándar W3C para generar XML: import?java.io.FileOutputStream;

import?java.io.PrintWriter;

import?javax.xml.parsers. DocumentBuilderFactory;

importar?javax.xml.transform.OutputKeys;

importar?javax.xml.transform.Transformer;

importar?javax.xml.transform .TransformerFactory ;

importar?javax.xml.transform.dom.DOMSource;

importar?javax.xml.transform.stream.StreamResult;

¿importar? org.w3c.dom.Document;

importar?org.w3c.dom.Element;

¿clase?pública?$?{

¿pública?estática? void? main(String[]?args)?throws?Exception?{

Documento?document?=?DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();

// Crea un archivo XML con el nodo raíz como estudiantes

Element?students?=?document.createElement("students");

document.appendChild(students);

//Crear un nodo hijo estudiante bajo el nodo raíz

Element?student?=?document.createElement("student");

students.appendChild(student );

p>

//Crea el nombre del estudiante del nodo, el valor es Zhang San

Element?name?=?document.createElement("name");

name.appendChild(document .createTextNode("Zhang San"));

student.appendChild(name);

//Crear nodo de edad del estudiante, el valor es 18

¿Elemento? edad?=?document.createElement("edad");

edad.appendChild(document.createTextNode("18"));

student.appendChild(age);

p>

//Crear nodo número de estudiante, el valor es 150101

Element?number?=?document.createElement("number");

number.appendChild(document. createTextNode("150101"));

student.appendChild(number);

//Crear un segundo nodo hijo estudiante bajo el nodo raíz

student? =?document.createElement("student");

students.appendChild(student)

);

//Crea el nombre del estudiante del nodo, el valor es Li Si

name?=?document.createElement("name");

name.appendChild (document.createTextNode("李思"));

student.appendChild(name);

//Crear nodo de edad del estudiante, el valor es 20

edad?=?document.createElement("edad");

edad.appendChild(document.createTextNode("20"));

estudiante.appendChild(edad );

p>

//Crear número de estudiante del nodo, el valor es 150102

número?=?document.createElement("número");

número .appendChild(document.createTextNode( "150102"));

student.appendChild(number);

//Guarde el archivo XML en el disco duro

Transformer?transformer?=?TransformerFactory. newInstance().newTransformer();

transformer.setOutputProperty(OutputKeys.ENCODING,?"utf-8");

transformer.setOutputProperty (OutputKeys.INDENT,?"yes" );

PrintWriter?writer?=?new?PrintWriter(new?FileOutputStream("/home/test.xml"));

transformador.transform(new?DOMSource(document ),?new?StreamResult(writer));

}

} Ya sea una base de datos o un archivo XML, todos usan estándar especificaciones que pueden hacer que los datos entren y salgan rápida y fácilmente. Otros archivos, como propiedades y json, pueden usar métodos similares a XML para empaquetar datos y luego guardarlos en el disco a través de la rica interfaz io stream de Java.