关于 IO(字符流 字符缓冲流)(4)

System.out.println("----------------------欢迎使用管理系统--------------------------");
        // 死循环
        while (true) {
            // 接收用户的选择
            int user = chose();

// 根据用户的输入调用功能
            switch (user) {
            case 1:
                show(list);
                break;
            case 2:
                add(list);
                save2File(list, fileName);
                break;
            case 3:
                upd(list);
                save2File(list, fileName);
                break;
            case 4:
                del(list);
                save2File(list, fileName);
                break;
            case 5:
                System.out.println("欢迎下次再来哦 老板");
                System.exit(0);
                break;

default:
                System.out.println("呵呵");
                break;
            }
        }
    }
    //把数据从文件中读取出来 存入到集合
    public static void readFromFile(ArrayList<Student> list,String fileName) throws IOException{
        // 创建BR对象
                BufferedReader br = new BufferedReader(new FileReader(fileName));

String line;
                while ((line = br.readLine()) != null) {
                    // 9003,阿拉并,20,迪拜
                    // 把读取到的一行信息 切割成各个字段
                    String[] ss = line.split(",");
                    // 把散装的数组组成对象
                    Student s = new Student(ss[0], ss[1], ss[2], ss[3]);
                    // 把对象添加到集合中
                    list.add(s);
                }

// 关闭资源
                br.close();
                System.out.println("初始化完毕");
    }
    // 把集合中的数据 写入到文件
    public static void save2File(ArrayList<Student> list ,String fileName) throws IOException{
        //创建BW对象
                BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
               
                //遍历集合获取学生信息, 写入到文件
                for (int i = 0; i < list.size(); i++) {
                    Student tmp = list.get(i);
                    // 9001,张三,18,北京
                    //使用sb按照指定的格式拼装学生的信息
                    StringBuilder sb = new StringBuilder();
                    sb.append(tmp.getId()).append(",")
                    .append(tmp.getName()).append(",")
                    .append(tmp.getAge()).append(",")
                    .append(tmp.getHome());
                    bw.write(sb.toString());
                    bw.newLine();// 换行
                    bw.flush();
                }
               
                //6.关闭资源
                bw.close();
    }
   
   
    public static int chose() {
        // 展示菜单
        System.out.println("====================================");
        System.out.println("1.展示学生信息");
        System.out.println("2.添加学生信息");
        System.out.println("3.修改学生信息");
        System.out.println("4.删除学生信息");
        System.out.println("5.退出学生信息管理系统");
        System.out.println("请输入功能序号");
        System.out.println("====================================");
        // 接收用户的输入
        Scanner sc = new Scanner(System.in);
        return sc.nextInt();

}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6ede1487689d0bb6e208a1bb0a73adef.html