当前位置:   article > 正文

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

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

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

  1. import java.io.BufferedReader;
  2. import java.io.EOFException;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.io.InputStreamReader;
  9. import java.io.ObjectInputStream;
  10. import java.io.ObjectOutputStream;
  11. import java.io.OutputStream;
  12. import java.io.Serializable;
  13. import java.nio.channels.ScatteringByteChannel;
  14. import java.util.ArrayList;
  15. import org.omg.PortableInterceptor.INACTIVE;
  16. public class Work02 {
  17. @SuppressWarnings("resource")
  18. public static void main(String[] args) throws Exception {
  19. // 2.定义员工类employee ,员工有姓名,年龄,工号属性, 员工有工作的方法,
  20. // 键盘录入三组数据, 数据格式(姓名,年龄,工号) 例如:张三,23,9527;
  21. // 通过数据,创建员工对象, 然后通过对象流将三个对象储存到文本文件中;
  22. // 最后读取文本文件中的对象,然后将对象的属性打印到控制台上;
  23. //writerDemo();//调用写入对象方法
  24. rederDemo();//调用读取对象方法
  25. }
  26. //读取对象类
  27. private static void rederDemo() throws IOException, FileNotFoundException, ClassNotFoundException {
  28. // 创建集合流输入流
  29. ObjectInputStream obr = new ObjectInputStream(new FileInputStream("2.txt"));
  30. //读取流
  31. Object ob = obr.readObject();
  32. //强转成集合类型的
  33. ArrayList<employee> arr=(ArrayList<employee>) ob;
  34. //用for增强来遍历集合
  35. for (employee em : arr) {
  36. // 输入对象
  37. System.out.println(em);
  38. }
  39. obr.close();
  40. }
  41. //写入对象类
  42. private static void writerDemo() throws IOException, FileNotFoundException {
  43. // 创建字节标准输入流对象
  44. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  45. //创建字节输出流对象
  46. ObjectOutputStream obw = new ObjectOutputStream(new FileOutputStream("2.txt"));
  47. // 创建employee类的集合
  48. ArrayList<employee> arr = new ArrayList<employee>();
  49. // 定义计数器
  50. int a=1;
  51. //
  52. while(a<=3){
  53. System.out.println("请输入第"+a+"个学生的信息(数据格式(姓名,年龄,工号) 例如:张三,23,9527):");
  54. // 读取一行
  55. String re = br.readLine();
  56. // 吧他们从逗号分隔成Sting数组
  57. String[] sp = re.split(",");
  58. // 集合用add方法添加匿名对象
  59. arr.add(new employee(sp[0], sp[1], sp[2]));
  60. // 计数器累加
  61. a++;
  62. }
  63. // 对象流添加集合
  64. obw.writeObject(arr);
  65. // 关闭流
  66. br.close();
  67. obw.close();
  68. }
  69. }
  70. //定义一个 employee类,实现Serializable
  71. class employee implements Serializable{
  72. /**
  73. *
  74. */
  75. private static final long serialVersionUID = 2220530702725160473L;
  76. private String name;
  77. private String age;
  78. private String id;
  79. public void work(){
  80. System.out.println("好好工作");
  81. }
  82. @Override
  83. public String toString() {
  84. return "employee [name=" + name + ", age=" + age + ", id=" + id + "]";
  85. }
  86. public employee(String name, String age, String id) {
  87. super();
  88. this.name = name;
  89. this.age = age;
  90. this.id = id;
  91. }
  92. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/910844
推荐阅读
相关标签
  

闽ICP备14008679号