经过几天的实践:终于完成了一个小实践(基于文件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();
}
}