DESCRIPTION:
In my program, users are asked to input some values. The values get stored into an ArrayList so that I can print them out. Now the problem with this one is all data is lost once I terminate the program. That's why I have decided to store those arrayList object into file and and read them from there.
PROBLEM/QUESTION:
I have created all the related methods to write and read file. But it seems that no objects are written and read in file.The class I am mainly concerned about is ReadWrite.
Working code:
ReadWrite:
    public void writeFile(List<PersonInfo> information) {
    try {
        FileOutputStream fos = new FileOutputStream("C:\\Users\\Documents\\NetBeansProjects\\BankFile4.txt");
        ObjectOutputStream os = new ObjectOutputStream(fos);
        os.writeObject(information);
        os.flush();
        fos.close();
        os.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public List<PersonInfo> readFile() {
    List<PersonInfo> dataFromFile=null;
    try {
        FileInputStream fis = new FileInputStream("C:\\Users\\Documents\\NetBeansProjects\\BankFile4.txt");
        ObjectInputStream is = new ObjectInputStream(fis);
        dataFromFile=(List<PersonInfo>)is.readObject();
        fis.close();
        is.close();
        //return readFile();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return dataFromFile;
    }
AboutPerson:
Scanner input = new Scanner(System.in);
            List<PersonInfo> info = new ArrayList<PersonInfo>();
            List<PersonInfo> info2 = new ArrayList<PersonInfo>();
            ReadWrite rw=new ReadWrite();
            rw.writeFile(info);
            info2=rw.readFile();
            while (true) {
                System.out.println("\n");
                System.out.println("1. Input personal info\n"
                        + "2. Print them out\n"
                        + "*************"
                        + "*************");
                option1 = input.nextInt();
                input.nextLine();
                switch (option1) {
                    case 1:
                        PersonInfo personInfo = new PersonInfo();
                        //take the input
                        System.out.println("Enter a name: ");
                        personInfo.setName(input.nextLine());
                        System.out.println("Give ID: ");
                        personInfo.setId(input.nextInt());
                        System.out.println("Input credit: ");
                        personInfo.setCredit(input.nextDouble());
                        //addint them up
                        info.add(personInfo);
                        break;
                    case 2:
                        //display them 
                        System.out.println("");
                        System.out.println("Name\t\tID\t\tCredit");
                        for (PersonInfo pInfo : info) {
                            System.out.println(pInfo);
                        }
                        System.out.println("\t\t.............\n"
                                + "\t\t.............");
                        break;
        }
            }
PersonInfo:
........
........
public PersonInfo() {
        this.name = null;
        this.id = 0;
        this.credit = 0;
    }
    public void setName(String name) {
        this.name = name;
    }
.........
.........