1.问题
用java编程实现:将学生的信息:学号,姓名,成绩写到Student.txt文件中,要求以对象为单位进行写入。
2.方法
采用对象流的方法进行以对象为单位写入
代码
package org.example;
import java.io.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Student implements Serializable {
String id;
String name;
double score;
public Student() {
}
public void setId(String id){
this.id=id;
}
public void setName(String name){
this.name=name;
}
public void setScore(double score){
this.score=score;
}
public static void main(String[] args) {
Student student = new Student();
student.setId("12345");
student.setName("张三");
student.setScore(90.5);
File file=new File("Student.txt");
try {
FileOutputStream fileOut=new FileOutputStream(file);//输出流写文件
ObjectOutputStream oos = new ObjectOutputStream(fileOut);
oos.writeObject(student);
oos.close();
FileInputStream fileIn=new FileInputStream(file);//输入流读文件
ObjectInputStream soo = new ObjectInputStream(fileIn);
Student li=(Student)soo.readObject();
li.setName("李四");
soo.close();
li.setScore(89);
System.out.println("学号:"+student.id+"姓名:"+student.name+"成绩:"+student.score);
} catch(ClassNotFoundException event){
System.out.println("不能读出对象");
}
catch (IOException event) {
System.out.println(event);
}
}
}
3.结语
运用输入流和输出流时,注意关闭流。使用对象流时注意调用方法。