不用数据库,那就要用到别的存储介质。可以用采用文件来保存。这要求你对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中在不使用数据库的情况下,怎样存储数据让所有客户端访问到等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)