读取和写入文件,Arraylist包含具有ArrayList的对象

时间:2014-12-29 06:12:11

标签: java bufferedreader bufferedwriter

我有一个包含Ward类型对象的ArrayList W1,每个Ward对象都有一个Ward Name,Max Capacity,Current Capacity和一个包含Patient类型对象的ArrayList P1。每个患者类型对象都有姓名,年龄,地址,性别等。

我想使用bufferedwriter将ArrayList W1写入文件,并使用bufferedreader读取该文件。

我知道如何从ArrayList读取并写入文件。但在这种情况下,它让我感到困惑,因为我试图从包含ArrayList对象的ArrayList中读取。

请告诉我怎么做。

由于

还有其他方法,而不是这个,

public static void addWardToFile(Ward ward)
{
     try
    {            
        out = new BufferedWriter(new FileWriter("wardDetails.txt",true));

        Iterator itr = ward.wardPatients.iterator();

        String patient="";

        while(itr.hasNext())
        {
         patient += itr.next().toString() + ":"; //patient object have a overridden toString method
        }
        out.write(ward.name +","+patients);
        out.newLine();
        out.close();
    }

2 个答案:

答案 0 :(得分:0)

使用嵌套for循环。下面是伪代码:

for (w in W1){
    write w...
    for (p in w.P1){
        write p...
    }
}

答案 1 :(得分:0)

试试这个:

public class test1 {

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

    StringBuffer sb = new StringBuffer();
    String filepath = "test.txt";
    List<String> list = new ArrayList<String>(); 
    list.add("1");
    list.add("2");
    list.add("3");
    list.add("4");
    list.add("5");
    list.add("6");

    Iterator<String> it = list.iterator();
    while(it.hasNext())
    {
        sb.append(it.next());
        sb.append(",");
    }

    BufferedWriter bw = new BufferedWriter(new FileWriter(filepath));
    bw.write(sb.toString());
    bw.flush();
    bw.close();
}

}