实践: 图书馆管理系统

经过几天的实践:终于完成了一个小实践(基于文件I/O操作的一个图书管理系统)

首先说一个这个小实践的框架:然后 根据这个框图一个模块一个模块的完成功能

 先做用户管理--》基本信息维护--〉读者信息管理--》图书信息管理--〉图书借阅管理

思考完框架后 开始设计,来上图:

第一个界面:登录 就是简单的文件的创建 IO操作  借用prop的map集合

第二个界面 登录后的界面:对框架中各个功能的封装后的显示 

第三个界面:对登录用户/或其他用户的管理 简单的增删改查 (I/O操作后集合的使用)

 第四个界面:注意一下罚金的设置 

第五个 界面:注意归还时间查的计算

 第六个界面:注意信息的丢失 注意修改 添加功能时 必要的提示和信息的回显

 第七个界面:注意修改 添加功能时 必要的提示和信息的回显

主要代码:

//book的读出
/*TODO 接收book.txt文件中的数据*/
    private static List<Book> bookList = new ArrayList<Book>();
    //初始化代码块
    static{
        File file = new File("library_management/src/com/libmanage/readerfile/books.txt");
        if (!file.exists()){
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        FileReader fr = null;
        try {
            fr = new FileReader(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        BufferedReader br = new BufferedReader(fr);
        String line = "";
        while (true){
            try {
                if (!((line=br.readLine())!=null)) break;
            } catch (IOException e) {
                e.printStackTrace();
            }
            Book book = new Book();
            String[] split = line.split(",");
            book.setTypeid(split[0]);
            BookType bookType = new BookType();
            bookType.setTypename(split[1]);
            book.setType(bookType);
            book.setBookname(split[2]);
            book.setAuthor(split[3]);
            book.setPublish(split[4]);
            book.setPubilishdate(split[5]);
            book.setPrinttime(Integer.parseInt(split[6]));
            book.setUnitprice(Double.parseDouble(split[7]));
            bookList.add(book);
        }
        try {
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
//读者的读出
/*TODO 保存readers.txt中的数据*/
    private static List<Reader> readerList = new ArrayList<Reader>();
    /*TODO  初始化静态代码块*/
    static {
        File file = new File("library_management/src/com/libmanage/readerfile/readers.txt");
        if (!file.exists()){
            file.exists();
        }
        FileReader fr = null;
        try {
            fr = new FileReader(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        BufferedReader br = new BufferedReader(fr);
        String line = null;
        while (true){
            try {
                if (!((line=br.readLine())!=null)) break;
            } catch (IOException e) {
                e.printStackTrace();
            }
            Reader reader = new Reader();
            String[] split = line.split(",");
            reader.setReadid(split[0]);
            ReaderType readerType = new ReaderType();
            readerType.setTypename(split[1]);
            reader.setReadtype(readerType);
            reader.setName(split[2]);
            reader.setBirthDate(split[3]);
            reader.setSex(split[4]);
            reader.setPhone(split[5]);
            reader.setDepartment(split[6]);
            reader.setRegistratedate(split[7]);
            readerList.add(reader);
        }
        try {
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值