急求: 在Java的CS模式下,不用数据库,用什么方法保存多条数据听说,JSON可以实现,那具体实现是怎么样

急求: 在Java的CS模式下,不用数据库,用什么方法保存多条数据听说,JSON可以实现,那具体实现是怎么样,第1张

不用数据库,那就要用到别的存储介质。可以用采用文件来保存。这要求你对java读写文件的 *** 作有很深的理解与应用,以及文件中数据的存储格式的规划。

json只是一种数据格式,当然可以解决这个问题。剩下的是怎么解析这个json文件,以及类的设计。

提示:

(1):将数据以json格式存储到一个文件中,可以通过文件流实现

(2):读取文件内容,放到一个字符串变量中

(3):将此字符串,转换为java对象,然后进行 *** 作,

(4):如果 *** 作对原数据有变化,将对象转换为json字符串,替换原有的文件内容

你可以参考 >

常用持久化的方案有数据库、XML文件和文件存储。

数据库是按照数据结构来存储和管理数据的仓库,后文不再做详细介绍。

XML是可扩展标记语言,最早是为了简化Internet的文档数据传输,它提供统一的语法格式来描述数据的结构,通常XML文件用于一些少量且无特殊类型要求的文本存储。示例代码使用W3C标准的接口生成XML:

import javaioFileOutputStream;

import javaioPrintWriter;

import javaxxmlparsersDocumentBuilderFactory;

import javaxxmltransformOutputKeys;

import javaxxmltransformTransformer;

import javaxxmltransformTransformerFactory;

import javaxxmltransformdomDOMSource;

import javaxxmltransformstreamStreamResult;

import orgw3cdomDocument;

import orgw3cdomElement;

public class $ {

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

        Document document = DocumentBuilderFactorynewInstance()newDocumentBuilder()newDocument();

        //创建根节点为students的XML文件

        Element students = documentcreateElement("students");

        documentappendChild(students);

        //在根节点下创建一个子节点学生

        Element student = documentcreateElement("student");

        studentsappendChild(student);

        //创建节点学生姓名,值为张三

        Element name = documentcreateElement("name");

        nameappendChild(documentcreateTextNode("张三"));

        studentappendChild(name);

        //创建节点学生年龄,值为18

        Element age = documentcreateElement("age");

        ageappendChild(documentcreateTextNode("18"));

        studentappendChild(age);

        //创建节点学生编号,值为150101

        Element number = documentcreateElement("number");

        numberappendChild(documentcreateTextNode("150101"));

        studentappendChild(number);

        //在根节点下创建第二个子节点学生

        student = documentcreateElement("student");

        studentsappendChild(student);

        //创建节点学生姓名,值为李四

        name = documentcreateElement("name");

        nameappendChild(documentcreateTextNode("李四"));

        studentappendChild(name);

        //创建节点学生年龄,值为20

        age = documentcreateElement("age");

        ageappendChild(documentcreateTextNode("20"));

        studentappendChild(age);

        //创建节点学生编号,值为150102

        number = documentcreateElement("number");

        numberappendChild(documentcreateTextNode("150102"));

        studentappendChild(number);

        

        //将XML文件保存到硬盘

        Transformer transformer = TransformerFactorynewInstance()newTransformer();

        transformersetOutputProperty(OutputKeysENCODING, "utf-8");

        transformersetOutputProperty(OutputKeysINDENT, "yes");

        PrintWriter writer = new PrintWriter(new FileOutputStream("/home/testxml"));

        transformertransform(new DOMSource(document), new StreamResult(writer));

    }

}

无论是数据库还是XML文件,它们都使用了能让数据快速方便进出的标准规范。其它文件如propeties、json,都可以使用类似XML的方式来打包数据,然后通过Java丰富的io流接口保存到磁盘中。

可以使用文件保存。

将数据以某种格式保存成文件,一般可以是xml文件,具体使用解释起来更麻烦,另行百度了。

或者将数据保存到内存中。

将要访问的数据设置成静态变量,这样所有客户端都能访问同一份数据。不过在website重启时,数据就丢失了。

这和C#没有关系吧?你就是要问不用数据库怎么储存数据。那就用文件储存呗。

前提是你要保证这是个单机的程序,因为文件的读写必须独占。

且保证对数据的稳定性和安全性要求不高,因为正常情况下任何程序都能随意复制、修改文件。就算无法识别里面的内容,也可也直接删掉。

满足的话,百度序列化。

以上就是关于急求: 在Java的CS模式下,不用数据库,用什么方法保存多条数据听说,JSON可以实现,那具体实现是怎么样全部的内容,包括:急求: 在Java的CS模式下,不用数据库,用什么方法保存多条数据听说,JSON可以实现,那具体实现是怎么样、如何在java里长期存储数据 不要数据库的那种、asp.net做的webForm中在不使用数据库的情况下,怎样存储数据让所有客户端访问到等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9354500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存