简体   繁体   中英

How to List or Array in Read/Write Object Java

*This is the main class, i want the output display 2 name likes

  1. John ,ss,22
  2. Hon ,sxx,32

So anyone know how to use array @ list in this code?

private static final String filepath="C:\\Users\\im\\Desktop\\obj.txt";

public static void main(String args[]) {
    Soalan1 objectIO = new Soalan1();

    //List<List<String>> outter = new ArrayList<List<String>>(); 
    //List<String> inner2 = new ArrayList<String>();
    //List<int> Student = new List<int>();

    Student slist = new Student("John","ss",22);  <==== here i want change it to array/list

    objectIO.WriteObjectToFile(filepath, slist);

    //Read object from file
    Student st = (Student) objectIO.ReadObjectFromFile(filepath);
    System.out.println(st);
}

public void WriteObjectToFile(String filepath,Object serObj) {
    try {
        FileOutputStream fileOut = new FileOutputStream(filepath);
        ObjectOutputStream objectOut = new ObjectOutputStream(fileOut);
        objectOut.writeObject(serObj);
        objectOut.close();
        System.out.println("The Object  was succesfully written to a file");
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

public Object ReadObjectFromFile(String filepath) {
    try {
        FileInputStream fileIn = new FileInputStream(filepath);
        ObjectInputStream objectIn = new ObjectInputStream(fileIn);
        Object obj = objectIn.readObject();

        System.out.println("The Object has been read from the file");
        objectIn.close();
        return obj;
    } catch (Exception ex) {
        ex.printStackTrace();
        return null;
    }
}
Student slist[] = new Student[2];
slist[1] = new Student("John", "ss", 22);
slist[2] = new Student("Hon", "sxx", 32);

From this point it's just simple I/O and a loop:

for (int i = 0; i<slist.length; i++)
  objectIO.WriteObjectToFile(filepath, slist[i]);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM