读/写对象和列表到文件

时间:2014-12-12 15:10:26

标签: java file

我想从.txt文件中写入/读取我的对象的属性。我的主要斗争是我的对象有Map<String, Object>我也想写。我将尝试用例子解释它:

我有一家医院,有部门,每个部门都有医生。我希望能够保存医院,但这也包括保存它们的部门和这些部门的医生,所以.txt文件将是这样的:

因此,医院有一个Map<String, Department>,一个部门有一个Map<Integer, Doctor>

Hospital1

-Department1

- Doctors1

- Doctors2

-Department2

哪个Hospital1会像HospitalName-200-100一样编写参数,而下面是该医院的每个部门,与Dpts和Docs相同。

为此,我已经实现了这些写入/读取文件的方法。但我真的不知道如何实现对象的读取和存储。

我可能不够清楚,但我真的不知道如何用文字解释它。在阅读我在txt文件中获得的内容时,这是一个问题,因为以某种方式编写它相当容易。所以我想,如果我能逐行阅读它会解决问题吗?我真的不知道,有点迷失在这里。

//WRITE
public void escriureText(String linia)
{        
    try (BufferedWriter bw = new BufferedWriter(new FileWriter(f,true)))
    {
        bw.write(linia);
        bw.write("\r\n");
        bw.close();
    }
    catch (Exception e) 
    {
        throw new IllegalArgumentException(e);
    }
}


//READ
public String llegirText()
{
    String linia = "";
    String line = "";
    try (BufferedReader reader = new BufferedReader(new FileReader(f)))
    {
        while ((line = reader.readLine()) != null) 
        {
            linia = linia + line + "\n";
        }
    }
    catch (Exception e) 
    {
        throw new IllegalArgumentException(e);
    }
    return linia;
}

1 个答案:

答案 0 :(得分:0)

一种解决方案是使用xml格式。那么该文件看起来就像这样。

<Hospital>
   <Department>
      <Doctor>
      </Doctor>
      <Doctor>
      </Doctor>
   </Department>
   <Department>
      <Doctor>
      </Doctor>
      <Doctor>
      </Doctor>
   </Department>
   <Department>
      <Doctor>
      </Doctor>
      <Doctor>
      </Doctor>
   </Department>
</Hospital>

要保存xml格式,您可以使用http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Document.html

使用xml的代码示例可以在这里找到。 http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/