关于java的文件初始化数据

package edu.sisv.sms.maojy.dao;

import java.io.*;
import java.util.*;

import edu.sisv.sms.maojy.entity.Admin;
import edu.sisv.sms.maojy.entity.Student;

public class InitData {
    private static final String STUDENT_DATA_FILE = "D:\\Data\\student.txt";
    private static final String ADMIN_DATA_FILE = "D:\\Data\\admin.txt";

    private static BufferedWriter bw;
    private static BufferedReader br;
    public static List<Student> stuList;
    public static List<Admin> admList;
    static {
        stuList = new ArrayList<Student>();
        admList = new ArrayList<Admin>();
    }

    public static void init() {
        File f1 = new File(STUDENT_DATA_FILE);
        if (f1.exists()) {
            readStuData();
        } else {
            initStuDate();
        }
        File f2 = new File(ADMIN_DATA_FILE);
        if (f2.exists()) {
            readAdmData();
        } else {
            initAdmDate();
        }
    }

    public static void readStuData() {
        System.out.println(">>正在读取数据...");
        String content = null;
        try {
            br = new BufferedReader(new InputStreamReader(new FileInputStream(
                    STUDENT_DATA_FILE)));
            while ((content = br.readLine()) != null) {
                String[] stuArray = content.split(",");
                Student stu = new Student();
                stu.setName(stuArray[0]);
                stu.setAccount(stuArray[1]);
                stu.setPassword(stuArray[2]);
                stu.setNumber(stuArray[3]);
                stu.setGrade(stuArray[4]);
                stu.setClazz(stuArray[5]);
                stu.setSex(stuArray[6]);
                stu.setAge(stuArray[7]);
                stu.setJiguan(stuArray[8]);
                stu.setInterest(stuArray[9]);
                stu.setPingjia(stuArray[10]);
                stuList.add(stu);
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("读取成功!");
    }

    public static void initStuDate() {
        System.out.println(">>正在初始化...");
        try {
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(STUDENT_DATA_FILE)));
            // 初始化学生信息
            for (int i = 1; i < 20; i++) {
                Student s = new Student("student" + i, "stu" + i, "s" + i,
                        "20140700" + i, "G" + (i % 6 + 1), "C" + (i % 10 + 1),
                        (i % 2 == 0 ? "男" : "女"), (i % 3 == 0 ? "21" : "23"),
                        "汉", "听音乐", "良好");
                stuList.add(s);
                bw.write(s.toString());
            }
            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void readAdmData() {
        System.out.println(">>正在读取数据...");
        String content = null;
        try {
            br = new BufferedReader(new InputStreamReader(new FileInputStream(
                    ADMIN_DATA_FILE)));
            while ((content = br.readLine()) != null) {
                String[] stuArray = content.split(",");
                Admin adm=new Admin();
                adm.setAccount(stuArray[0]);
                adm.setPassword(stuArray[1]);
                admList.add(adm);
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("读取成功!");
    }

    public static void initAdmDate() {
        System.out.println(">>正在初始化...");
        try {
            // 初始化超级管理员
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(ADMIN_DATA_FILE)));
            Admin a = new Admin("admin", "admin");
            admList.add(a);
            bw.write(a.toString());

            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void saveAll() {
        try {
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(STUDENT_DATA_FILE)));
            for (Student s : stuList) {
                bw.write(s.toString());
            }
            bw.close();

            System.out.println("\n提示:本次操作内容正在写入...");
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(ADMIN_DATA_FILE)));
            for (Admin a : admList) {
                bw.write(a.toString());
            }
            bw.close();
            System.out.println("信息保存完毕!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自lingqin1992.iteye.com/blog/2157756