brainfrz icon

Untitled

brainfrz | PRO | 10/20/15 10:30:29 PM UTC | 0 ⭐ | 772 👁️ | Never ⏰ | []
Java |

1.96 KB

|

None

|

0 👍

/

0 👎

public class BookshelfFilestore {
    private static final String DEFAULT_SHELF_FILE = "shelf.txt";
 
    public static void main( String[] args ) throws IOException
    {
        File shelfFile = new File(DEFAULT_SHELF_FILE);
        PrintWriter writer = new PrintWriter(DEFAULT_SHELF_FILE);
        Bookshelf shelf = new Bookshelf();
 
        shelf.addBook(new Book("Pizza Cookbook", 751, "Pizza Chef", "Non-fiction"));
        shelf.addBook(new Book("Space Cowboys", 152, "Somebody Cool", "Sci-Fi"));
        shelf.addBook(new Book("Space Cadets", 852, "Somebody Cool", "Sci-Fi"));
        shelf.addBook(new Book("Cable News", 659, "Johny", "Non-fiction"));
        shelf.addBook(new Book("Pizza Cookbook", 751, "Pizza Chef", "Non-fiction"));
 
        for (Book book : shelf.getBookshelf()) {
            writer.write(book.getTitle() + "\n");
            writer.write(book.getPages() + "\n");
            writer.write(book.getAuthor() + "\n");
            writer.write(book.getGenre() + "\n");
            writer.write("\n");
            writer.flush();
        }
 
 
        Bookshelf shelf2 = new Bookshelf();
        Scanner fileReader = new Scanner(shelfFile);
        fileReader.useDelimiter("\n\n");
        while (fileReader.hasNext()) {
            String bookStr = fileReader.next();
            Scanner bookReader = new Scanner(bookStr);
            String title, author, genre;
            int pages;
 
            // For each book in the file's list
            for (int i = 0; bookReader.hasNext(); i++) {
                title  = bookReader.nextLine();
                pages  = Integer.parseInt(bookReader.nextLine());
                author = bookReader.nextLine();
                genre  = bookReader.nextLine();
 
                shelf2.addBook(new Book(title, pages, author, genre));
            }
        }
 
        for (Book book : shelf2.getBookshelf()) {
            System.out.println(book.displayDetails() + "\n");
        }
    }
}

Comments