【发布时间】:2014-12-12 15:10:26
【问题描述】:
我想从.txt 文件中写入/读取我的对象的属性。我的主要困难是我的对象有一个Map<String, Object>,我也想写它。我会尝试用例子来解释它:
我有一家医院,里面有科室,每个科室都有医生。我希望能够拯救医院,但这也包括拯救它的科室和那些科室的医生,所以.txt 文件将是这样的:
所以医院有一个Map<String, Department>,一个部门有一个Map<Integer, Doctor>
医院1
-部门1
--医生1
--Doctors2
-部门2
Which 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;
}
【问题讨论】:
-
你的类实现序列化了吗
-
Java 的 Serializable 接口是否可以工作,或者您是否仅限于使用 .txt 文件?