书籍类CRUD

package com.ruicaiedu.test;


import java.util.Scanner;


import com.ruicaiedu.book.domain.Book;
import com.ruicaiedu.book.domain.BookDao;
import com.ruicaiedu.book.domain.BookImpl;


public class Test {
    public static void main(String[] args) {
        while (true) {
            String bookId;
            String bookName;
            double bookPrice;
            Book book = null;
            BookDao bookDao;


            System.out
                    .println("欢迎使用图书管理系统!\n\n1.添加书籍...\n2.修改书籍...\n3.查询书籍...\n4.删除书籍...\n5.退出系统...\n\n请选择...");
            Scanner scanner = new Scanner(System.in);
            int choice = scanner.nextInt();
            switch (choice) {
            case 1:
                System.out.println("欢迎来到书籍添加界面!\n请输入书号:");
                bookId = scanner.next();
                System.out.println("请输入书名:");
                bookName = scanner.next();
                System.out.println("请输入价格:");
                bookPrice = Double.parseDouble(scanner.next());


                book = new Book();
                book.setBookId(bookId);
                book.setBookName(bookName);
                book.setBookPrice(bookPrice);


                bookDao = new BookImpl();
                if (bookDao.saveBook(book) == true) {
                    System.out.println("恭喜您添加成功!");
                } else {
                    System.out.println("对不起,添加失败!");
                }


                break;
            case 2:
                System.out.println("欢迎来到修改界面!\n请输入您要修改的书号:");
                bookId = scanner.next();
                System.out.println("请输入修改后的书名:");
                bookName = scanner.next();
                System.out.println("请输入修改后的价格:");
                bookPrice = Double.parseDouble(scanner.next());


                book.setBookId(bookId);
                book.setBookName(bookName);
                book.setBookPrice(bookPrice);
                bookDao = new BookImpl();
                if (bookDao.updateBook(book) == true) {
                    System.out.println("修改成功!");
                } else {
                    System.out.println("对不起,修改失败!");
                }
                break;
            case 3:
                System.out.println("欢迎来到书籍查询界面:\n请输入您要查询的书号:");
                bookId = scanner.next();
                bookDao = new BookImpl();
                Book book2 = bookDao.getBook(bookId);
                if (book2 != null) {
                    System.out.println("书号:" + book2.getBookId() + "\t书名:"
                            + book2.getBookName() + "\t价格:"
                            + book2.getBookPrice());
                } else {
                    System.out.println("对不起,您查询的书籍不存在!");
                }
                break;
            case 4:
                System.out.println("欢迎进入书籍删除界面!\n请输入您要删除的书号:");
                bookId = scanner.next();
                bookDao = new BookImpl();
                if (bookDao.deleteBook(bookId) == true) {
                    System.out.println("恭喜您删除成功!");
                } else {
                    System.out.println("对不起,删除失败!");
                }
                break;
            case 5:
                System.exit(1);
                break;


            default:
                break;
            }
        }
    }


}
————————————————————————————————————————————————————————————————————


package com.ruicaiedu.book.domain;


public class Book {
    private String bookId;
    private String bookName;
    private double bookPrice;


    public String getBookId() {
        return bookId;
    }


    public void setBookId(String bookId) {
        this.bookId = bookId;
    }


    public String getBookName() {
        return bookName;
    }


    public void setBookName(String bookName) {
        this.bookName = bookName;
    }


    public double getBookPrice() {
        return bookPrice;
    }


    public void setBookPrice(double bookPrice) {
        this.bookPrice = bookPrice;
    }
}


————————————————————————————————————————————————————————————————————


package com.ruicaiedu.book.domain;


public interface BookDao {
    // 1.添加书籍...
    public boolean saveBook(Book book);


    // 2.修改书籍...
    public boolean updateBook(Book book);


    // 3.查询书籍...
    public Book getBook(String bookId);


    // 4.删除书籍...
    public boolean deleteBook(String bookId);


}


————————————————————————————————————————————————————————————————————
package com.ruicaiedu.book.domain;


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;


public class BookImpl implements BookDao {


    @Override
    // 4.删除书籍...
    public boolean deleteBook(String bookId) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(
                    "e:/books/books.txt"));
            String buffer = "";
            int count = 0;
            String[] books = new String[100];
            while ((buffer = reader.readLine()) != null) {
                if (buffer.split(",")[0].equals(bookId) == false) {
                    books[count++] = buffer;
                }
            }
            reader.close();
            BufferedWriter writer = new BufferedWriter(new FileWriter(
                    "e:/books/books.txt"));
            for (int i = 0; i < books.length; i++) {
                if (books[i] != null) {
                    writer.write(books[i]);
                    writer.newLine();
                }
            }
            writer.flush();
            writer.close();
            return true;


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }


    @Override
    // 3.查询书籍...
    public Book getBook(String bookId) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(
                    "e:/books/books.txt"));
            String buffer = "";
            while ((buffer = reader.readLine()) != null) {
                if (buffer.split(",")[0].equals(bookId)) {
                    Book book = new Book();
                    book.setBookId(buffer.split(",")[0]);
                    book.setBookName(buffer.split(",")[1]);
                    book.setBookPrice(Double.parseDouble(buffer.split(",")[2]));
                    return book;
                }
            }


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }


    @Override
    // 1.添加书籍...
    public boolean saveBook(Book book) {
        File file = new File("e:/books");
        if (!file.exists()) {
            file.mkdirs();
        }
        try {
            BufferedReader reader = new BufferedReader(new FileReader(
                    "e:/books/books.txt"));
            String buffer = "";
            String[] books = new String[100];
            int count = 0;
            while ((buffer = reader.readLine()) != null) {
                books[count++] = buffer;
            }
            reader.close();
            BufferedWriter writer = new BufferedWriter(new FileWriter(file
                    .getCanonicalPath()
                    + "/books.txt"));
            for (int i = 0; i < books.length; i++) {
                if (books[i] != null) {
                    writer.write(books[i]);
                    writer.newLine();
                }
            }
            writer.write(book.getBookId() + "," + book.getBookName() + ","
                    + book.getBookPrice());
            writer.flush();
            writer.close();
            return true;


        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }


    @Override
    // 2.修改书籍...
    public boolean updateBook(Book book) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(
                    "e:/books/books.txt"));
            String buffer = "";
            int count = 0;
            String[] books = new String[100];
            while ((buffer = reader.readLine()) != null) {
                if (buffer.split(",")[0].equals(book.getBookId())) {
                    books[count++] = book.getBookId() + ","
                            + book.getBookName() + "," + book.getBookPrice();
                } else {
                    books[count++] = buffer;
                }
            }
            reader.close();


            BufferedWriter writer = new BufferedWriter(new FileWriter(
                    "e:/books/books.txt"));
            for (int i = 0; i < books.length; i++) {
                if (books[i] != null) {
                    writer.write(books[i]);
                    writer.newLine();
                }
            }
            writer.flush();
            writer.close();
            return true;


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值