JavaIO练习
1、在myScanner的基础上实现提示信息的显示
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class MyScanner {
public static void main(String[] args) throws IOException {
//获取控制台输入流
InputStream in =System.in;
//将字节流转换成字符流
BufferedReader br=new BufferedReader(new InputStreamReader(in));
String str="";
System.out.println("请输入:");
//读取缓冲区数据
while((str=br.readLine())!=null) {
System.out.println("控制台数据:"+str);
System.out.println("请输入:");
}
}
}
2、定义一个学生类和一个班级类,在学生类中定义姓名、性别,班级类定义班级编号属性,实现学生类继承班级类,创建对象并完成属性赋值,通过对象序列化操作将学生类和班级类写入到文件中,最后通过反序列化将对象还原到程序中。
class班级类
import java.io.*;
public class Class implements Serializable {
private static final long serialVersionUID = 6393330205751969582L;
String id;
public Class(String id) {
super();
this.id = id;
}
@Override
public String toString() {
return "Class [id=" + id + "]";
}
}
Student学生类
public class Student extends Class {
private static final long serialVersionUID = -9152695056628452696L;
private String name;
private char sex;
public Student(String name, String id ,char sex) {
super(id);
this.name = name;
this.sex = sex;
}
@Override
public String toString() {
return "Student [name=" + name + ", sex=" + sex + "]";
}
}
Test测试类
import java.io.*;
public class Test {
public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
// 创建文件对象
File f = new File("obj.txt");
// 实例化一个Student对象
Student stu = new Student("张三", "12345456312", '男');
// 创建对象流
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
// 写出对象
oos.writeObject(stu);
// 关闭流
oos.close();
ObjectInputStream ois = null;
Student s = null;
// 如果存在f对应file文件
if (f.exists()) {
// 将f中文件输入程序
ois = new ObjectInputStream(new FileInputStream(f));
// 将读出的数据转换成Student类
s = (Student) ois.readObject();
}
// 打印读出的数据
System.out.println(s);
}
}