
或者用MS access 做数据库 这个东西 就类似文件
但是基本的数据库功能都有的
表啊 视图都有的 也能实用 SQL 语句
就是不能写复杂的函数啊 过程 触发器这样的东西。
长期存储数据,即把数据(如内存中的)保存到可永久保存的存储设备中(如硬盘、U盘),也就是人们常说的持久化。
常用持久化的方案有数据库、XML文件和文件存储。
数据库是按照数据结构来存储和管理数据的仓库,后文不再做详细介绍。
XML是可扩展标记语言,最早是为了简化Internet的文档数据传输,它提供统一的语法格式来描述数据的结构,通常XML文件用于一些少量且无特殊类型要求的文本存储。示例代码使用W3C标准的接口生成XML:
import java.io.FileOutputStreamimport 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流接口保存到磁盘中。
如果用数据库就很方便 不用数据库 我也想不到有什么文件适合做查询了 保存还好说 xml 应该满足了,至于查询 不怎么好设计 除非程序初始化的时候就把xml 加载到内存里面 *** 作标签欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)