當前位置:編程學習大全網 - 編程語言 - 如何在java裏長期存儲數據 不要數據庫的那種

如何在java裏長期存儲數據 不要數據庫的那種

長期存儲數據,即把數據(如內存中的)保存到可永久保存的存儲設備中(如硬盤、U盤),也就是人們常說的持久化。

常用持久化的方案有數據庫、XML文件和文件存儲。

數據庫是按照數據結構來存儲和管理數據的倉庫,後文不再做詳細介紹。

XML是可擴展標記語言,最早是為了簡化Internet的文檔數據傳輸,它提供統壹的語法格式來描述數據的結構,通常XML文件用於壹些少量且無特殊類型要求的文本存儲。示例代碼使用W3C標準的接口生成XML:

import?java.io.FileOutputStream;

import?java.io.PrintWriter;

import?javax.xml.parsers.DocumentBuilderFactory;

import?javax.xml.transform.OutputKeys;

import?javax.xml.transform.Transformer;

import?javax.xml.transform.TransformerFactory;

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

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

import?org.w3c.dom.Document;

import?org.w3c.dom.Element;

public?class?$?{

public?static?void?main(String[]?args)?throws?Exception?{

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

//創建根節點為students的XML文件

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

document.appendChild(students);

//在根節點下創建壹個子節點學生

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

students.appendChild(student);

//創建節點學生姓名,值為張三

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

name.appendChild(document.createTextNode("張三"));

student.appendChild(name);

//創建節點學生年齡,值為18

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

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

student.appendChild(age);

//創建節點學生編號,值為150101

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

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

student.appendChild(number);

//在根節點下創建第二個子節點學生

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

students.appendChild(student);

//創建節點學生姓名,值為李四

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

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

student.appendChild(name);

//創建節點學生年齡,值為20

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

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

student.appendChild(age);

//創建節點學生編號,值為150102

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

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

student.appendChild(number);

//將XML文件保存到硬盤

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"));

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

}

} 無論是數據庫還是XML文件,它們都使用了能讓數據快速方便進出的標準規範。其它文件如propeties、json,都可以使用類似XML的方式來打包數據,然後通過Java豐富的io流接口保存到磁盤中。

  • 上一篇:西門子密碼鎖怎麽開門
  • 下一篇:LED戶外照明燈哪種好?LED戶外照明燈類型
  • copyright 2024編程學習大全網