如何在读/写对象Java中列出或数组

时间:2014-04-06 01:51:13

标签: java list arraylist

*这是主要类,我希望输出显示2名称喜欢

  1. John,ss,22
  2. Hon,sxx,32
  3. 所以任何人都知道如何在此代码中使用array @ list?

    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;
        }
    }
    

1 个答案:

答案 0 :(得分:1)

Student slist[] = new Student[2];
slist[1] = new Student("John", "ss", 22);
slist[2] = new Student("Hon", "sxx", 32);

从这一点来看,它只是简单的I / O和循环:

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