Java:将变量存储在文件中

9

我知道如何在Java中将文本写入文件并存储,但我想知道是否有一种方法可以存储大量变量,以便以后可以从文件中检索它们,并将它们作为变量放回Java应用程序。

我将存储数字和字符串,但是它们会成组出现。

谢谢 :)

3个回答

14

不客气,@Humpheh。我以前用过这个来存储大量的数据,它真的比基本的输入/输出要好得多。 - user623990

5

使用XML!您将使您的变量可移植。即使您的咖啡机也能使用它们。

一个SAX解析器是用Java构建的。

这是一个编写XML文件的Java代码片段:

public void saveToXML(String xml) {
    Document dom;
    Element e = null;
    // get an instance of factory
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    try {
        // using a factory get an instance of document builder
        DocumentBuilder db = dbf.newDocumentBuilder();
        // create an instance of DOM
        dom = db.newDocument();
        // create the root element
        Element rootElement = dom.createElement("myparameters");
        // create data elements and place them under root
        e = dom.createElement("brightness");
        e.appendChild(dom.createTextNode(brightness));
        rootElement.appendChild(e);

这是一个用于读取XML文件的Java代码片段:

public boolean loadFromXML(String xml) {    
    Document dom;
    // get an instance of the factory
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    try {
        // using factory get an instance of the document builder
        DocumentBuilder db = dbf.newDocumentBuilder();
        // parse using builder to get DOM representation of the XML file
        dom = db.parse(xml);
        Element doc = dom.getDocumentElement();
        // get the data 
        brightness = getTextValue(brightness, doc, "brightness");
        contrast = getTextValue(contrast, doc, "contrast");

哈哈,那不是我使用它的主要目的,不过还是谢谢;) - Humphrey
这仍然是一个很好的答案,XML是通用的。但在我的情况下,属性文件对我来说效果最好。 - user623990
+1 表示咖啡机(即 Java 机器)读取 Java 变量。 - alexcoco
但实际上,像这样的事情最好使用JAXB而不是手动解析代码。编写工作量更大,并且如果您更改类,则还必须更改读/写代码。在这种情况下完全没有必要(因为我希望我们可以假设变量具有一定联系并已存储在类/集合中)。 - Voo

0

最好的方法是创建一个XML文件。它可以存储任何对象和任何类型的集合。

我想XML是保留并稍后检索它的最佳方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接