输入输出流操作对象
2016-12-27 17:04
330 查看
** * 要求用户控制台输入想输入的员工人数(至少5个),然后依序输入员工信息,每行为 * 一条员工信息,格式如:张三,25,男,5000,2006-3-18 * 然后将该对象写入到文件<name>.obj并保存到当前项目根目录中,例如:张三.obj。 * @author Xiloer * */
代码如下:
public class Test03 {
public static void main(String[] args) throws ParseException, IOException {
int num = getSum();
for(int i=1;i<=num;i++){
System.out.println("请输入第"+i+"个员工信息:");
//将当前员工信息写入文件
Emp emp = writeEmp();
wirteFile(emp);
}
System.out.println("解析完毕");
}
//员工人数限制
public static int getSum(){
Scanner scan = new Scanner(System.in);
for(;;){
System.out.println("请输入员工人数:");
int num = Integer.parseInt(scan.nextLine().trim());
if(num >= 5){
scan.close();
return num;
}
}
}
//将对象写入文件
public static void wirteFile(Emp emp) throws IOException{
FileOutputStream fos = new FileOutputStream(emp.getName()+".obj");
ObjectOutputStream oos =new ObjectOutputStream(fos);
oos.writeObject(emp);
oos.close();
}
//传入一个员工的字符串信息,解析成员工对象--格式如:张三,25,男,5000,2006-3-18
public static Emp writeEmp() throws ParseException{
Scanner scan = new Scanner(System.in);
String input = scan.nextLine().trim();
String[] infor = input.split(",");
String name = infor[0];
int age = Integer.parseInt(infor[1]);
String gender = infor[2];
int salary = Integer.parseInt(infor[3]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate = sdf.parse(infor[4]);
scan.close();
return new Emp(name,age,gender,salary,hiredate);
}
}测试结果如下:
请输入员工人数:
2
请输入员工人数:
3
请输入员工人数:
5
请输入第1个员工信息:
张三,25,男,5000,2006-3-18
请输入第2个员工信息:
李四,29,男,5000,2009-3-18
请输入第3个员工信息:
王五,10,男,5000,2008-08-25
请输入第4个员工信息:
莉莉丝,25,女,4500,2014-3-18
请输入第5个员工信息:
韩磊,21,男,3000,2006-5-24
解析完毕
相关文章推荐
- C++输入输出流对象基本操作
- java 对象输入输出流读写文件的操作实例
- C++的输入输出流、文件操作
- 序列化对象输入输出操作实例
- JAVA输入输出流操作
- java输入输出流及文件操作
- java输入输出流及文件操作
- 不改变使用习惯的情况下为std::stream对象的输入输出操作附加线程安全
- 【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作
- 面向对象实验四(输入输出流)
- 面向对象实验四(输入输出流)
- 黑马程序员-----输入输出流及文件操作
- C++的输入输出流、文件操作
- IO操作 改变标准输入输出流和转换流练习
- C#操作IO(输入输出流)
- C++输入输出流(文件的操作)
- 学习Android的文件基本I/0输入输出流的操作
- C#操作IO(输入输出流)
- 利用Object 的输入输出流,从文件中读取多个对象
- java输入输出流及文件操作