假设我有一个类Student
的对象,它有以下字段:
String name;
int age;
int roll_number;
我实例化如下:
Student A[] = new Student();
现在,有没有办法使用文件处理将所有这些信息存储在文本文件中?
我想过循环遍历数组中的每个元素,然后将所有字段转换为字符串,但这似乎是错误的。
答案 0 :(得分:2)
另一种方法是使用Serialization。您的Student
课程必须实施Serializable
:
class Student implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
private int rollNumber;
//...
}
然后读取和写入Student
数组:
try {
Student[] students = new Student[3];
//Write Student array to file.
FileOutputStream fos = new FileOutputStream("students.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(students);
oos.close();
//Read Student array from file.
FileInputStream fis = new FileInputStream("students.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
Student[] studentsFromSavedFile = (Student[]) ois.readObject();
ois.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您总是可以在类的toString()
方法中计算出格式,这样当您写入文件时,它会按照该格式编写对象。
所以我们说toString()
是,
public String toString() {
return "Name : " + name + " : Age : " + age;
}
因此,这将写入您的文件,(如果您致电bw.write(person.toString());
)
Name : Azhar : Age : 25
答案 2 :(得分:0)