如何在java里长期存储数据 不要数据库的那种 10

 我来答
balsum
推荐于2016-01-20 · TA获得超过311个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:185万
展开全部

  长期存储数据,即把数据(如内存中的)保存到可永久保存的存储设备中(如硬盘、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流接口保存到磁盘中。

壹寰(深圳)科技文化有限公司
2021-03-27 广告
不同公司提供的方案也不一样。以上回答如果还觉得不够详细,可以来咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
神之天使cc
2015-11-13 · 超过15用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:22万
展开全部
用redis存,但是也是有时间限制,redis关了,也就没了,
第二个就是JVM存在的时间一样长了,但是这个灰常占用内存,在变量前面加上static,
第三种方法定义在接口里面
第四个方法。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
616358217
2013-06-23 · TA获得超过1316个赞
知道小有建树答主
回答量:690
采纳率:0%
帮助的人:292万
展开全部
可以用dom4‍‍j,生成对应xml文件来存储.就看用什么样的格式了
追问
有完成的么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Shining_focus
2013-06-23 · TA获得超过234个赞
知道小有建树答主
回答量:310
采纳率:100%
帮助的人:122万
展开全部
把内容写到各种本地文件

需要用的时候,再从本地文件读取就可以了
追问
有完成的么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友63827ba
2015-12-02 · TA获得超过460个赞
知道小有建树答主
回答量:927
采纳率:55%
帮助的人:324万
展开全部
1、建立map文件 类似索引文件
2、hive hbase
3、保存txt.使用io读取数据,可以建立索引
4、readis 实现持久化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式