赞
踩
最后读取文本文件中的对象,然后将对象的属性打印到控制台上;
- import java.io.BufferedReader;
- import java.io.EOFException;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.OutputStream;
- import java.io.Serializable;
- import java.nio.channels.ScatteringByteChannel;
- import java.util.ArrayList;
-
- import org.omg.PortableInterceptor.INACTIVE;
-
- public class Work02 {
-
-
-
- @SuppressWarnings("resource")
- public static void main(String[] args) throws Exception {
- // 2.定义员工类employee ,员工有姓名,年龄,工号属性, 员工有工作的方法,
- // 键盘录入三组数据, 数据格式(姓名,年龄,工号) 例如:张三,23,9527;
- // 通过数据,创建员工对象, 然后通过对象流将三个对象储存到文本文件中;
- // 最后读取文本文件中的对象,然后将对象的属性打印到控制台上;
-
- //writerDemo();//调用写入对象方法
- rederDemo();//调用读取对象方法
- }
- //读取对象类
- private static void rederDemo() throws IOException, FileNotFoundException, ClassNotFoundException {
- // 创建集合流输入流
- ObjectInputStream obr = new ObjectInputStream(new FileInputStream("2.txt"));
- //读取流
- Object ob = obr.readObject();
- //强转成集合类型的
- ArrayList<employee> arr=(ArrayList<employee>) ob;
- //用for增强来遍历集合
- for (employee em : arr) {
- // 输入对象
- System.out.println(em);
- }
- obr.close();
- }
- //写入对象类
- private static void writerDemo() throws IOException, FileNotFoundException {
- // 创建字节标准输入流对象
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- //创建字节输出流对象
- ObjectOutputStream obw = new ObjectOutputStream(new FileOutputStream("2.txt"));
- // 创建employee类的集合
- ArrayList<employee> arr = new ArrayList<employee>();
- // 定义计数器
- int a=1;
- //
- while(a<=3){
- System.out.println("请输入第"+a+"个学生的信息(数据格式(姓名,年龄,工号) 例如:张三,23,9527):");
- // 读取一行
- String re = br.readLine();
- // 吧他们从逗号分隔成Sting数组
- String[] sp = re.split(",");
- // 集合用add方法添加匿名对象
- arr.add(new employee(sp[0], sp[1], sp[2]));
- // 计数器累加
- a++;
- }
- // 对象流添加集合
- obw.writeObject(arr);
- // 关闭流
- br.close();
- obw.close();
- }
-
- }
-
- //定义一个 employee类,实现Serializable
- class employee implements Serializable{
-
- /**
- *
- */
- private static final long serialVersionUID = 2220530702725160473L;
-
- private String name;
- private String age;
- private String id;
- public void work(){
- System.out.println("好好工作");
- }
- @Override
- public String toString() {
- return "employee [name=" + name + ", age=" + age + ", id=" + id + "]";
- }
- public employee(String name, String age, String id) {
- super();
- this.name = name;
- this.age = age;
- this.id = id;
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。