这周写了个java版的员工管理项目,练习io流的知识点。
      io流的实用之处就是把临时信息永久化,内容主要是对于程序中的信息进行分析,归类,储存,也可以把其他文件信息读入程序,是内存与硬盘数据的交互。。。。。
      说人话就是,可以读写了,这个项目让我扎实了很多知识点,例如需要保存的员工信息暂时保存在哪里,
我这里直接声明了几个长度为100的数组。`

class InforMation {
    public static  int i=1;
    public static int []sum=new int[100];
    public static String []name=new String[100];
    public static int [] age=new int[100];
    public static String []PhoneNumber=new String[100];
    public static String []Address=new String[100];
}

java中只有静态的才是一个,不会变动的,否则就是new一个对象要在堆内存中创建个新的对象了。
      注意到我这里是有int数组的,这个int数组后面可麻烦了。。。。如果写入txt文件用字符流需要多很多次转换,就很费事,以这个age数组为例,应该直接用上string数组的,不过用Integer.toString可以转成string写入文件,有人可能会说这不是脱裤子放屁么?。。。。确实是这样的。
      同样写入我用的Integer.toString,读入我又得转成int类型了,这里用到的方法是Integer.parseInt方法,可以把string转化成int数据类型。
      我每次添加修改员工信息就是,写入到一个临时的文件中,充当保存数据的作用,而读入数据是在系统登录成功后开始读取,避免没登陆上就开始读取浪费性能。

class UserOperation {


    public UserOperation() {
        try {
            BufferedReader bw=new BufferedReader(new FileReader("i.txt"));
            try {
                InforMation.i=Integer.parseInt(bw.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        int a=0;
        try {
            BufferedReader ba=new BufferedReader(new FileReader("Employee information.txt"));
            String tempin=null;
            while ((tempin= ba.readLine())!=null){
                String tempstring[]=tempin.split(",");
                InforMation.name[a]=tempstring[0];
                InforMation.age[a]=Integer.parseInt(tempstring[1]);
                InforMation.PhoneNumber[a]=tempstring[2];
                InforMation.Address[a]=tempstring[3];
                a++;

            }
            ba.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        System.out.println("1,修改管理员密码");
        System.out.println("2,查询员工");
        System.out.println("3,添加员工");
        System.out.println("4,导入员工信息(文件.txt)");
        System.out.println("5,导出员工信息(文件.txt)");
        System.out.println("6,修改员工信息");
        System.out.println("7,退出程序");
        System.out.println("(本程序切记要正常退出,否则会出现令你匪夷所思的bug)");
        Scanner reader = new Scanner(System.in);
        int choose = reader.nextInt();
        switch (choose) {
            case 1:
                new SetAdmin();
                break;

            case 2:
                new ChooseMan();
                break;
            case 3:
                new AddMan();
                break;

            case 4:
                new InputTxtMan();
                break;

            case 5:
                new OutputMan();
                break;
            case 6:
                new SetMan();
            case 7:
                new  Esc();
                break;
            default:
                System.out.println("抱歉没有匹配的对象");
                break;





        }

    }
}

总之写的很拉,还有很多进步的空间,尤其是用户输入的内容判断,应该在判断数据符合输入规则后再读入程序,否则胡乱读入的话会使程序的稳定性大大降低,学习之路还有很长,加油吧!!!