定义员工类employee ,员工有姓名,年龄,工号属性, 员工有工作的方法, 键盘录入三组数据, 数据格式(姓名,年龄,工号) 例如:张三,23,9527; 通过数据,创建员工对象, 然后通过对

定义员工类employee ,员工有姓名,年龄,工号属性, 员工有工作的方法,
键盘录入三组数据, 数据格式(姓名,年龄,工号) 例如:张三,23,9527;
通过数据,创建员工对象, 然后通过对象流将三个对象储存到文本文件中;

最后读取文本文件中的对象,然后将对象的属性打印到控制台上;

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


  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值