Java Programming language
booklist.txt link: https://drive.google.com/open?id=0B1hCGiJn2wUfNU9kM1VFQk1udnM
Book Cataloging System Write a program to manage a Book Catalog. The catalog would contain a collection of books, with following fields of information: book code (unique for each book, must be valid see ISBN validation rules in this assignment for more info), author’s last name, author’s first name, book title, year of publication and price. The book catalog should use a file for storing books The information in the file uses tabs to separate each of the field of a book, with one book per line. Refer to sample file: booklist.txt for more details. Usage Requirements: 1. At the start, the program should load the catalog from file (Books.txt from current directory), if it doesn’t exist, create a new catalog. 2. The program should allow the user to add a new book to the catalog. The program should ask for the required information and then add the book to the catalog, only if same book code doesn’t already exist in the catalog and if the book is a valid. Book is considered valid, if the book code is valid, name and title are valid (name can’t start with numbers, name/title can’t be empty, price is not negative or zero, year cannot be greater than 2013) 3. The program should allow user to find a book in the catalog, given one of the following: author first name or last name or the book code. If the book is found, all the information about the book should be displayed. If the book is not found, an appropriate message should be displayed. 4. The program should allow user to delete an existing book from the catalog. 5. The driver (or client) program should have a menu driven interface (console) to allow users to select one of the options to perform the above tasks and repeat them till the program is exited. The program should display appropriate messages to the user for each operation, successful or not. 6. When exiting, the program should ask to save Yes/No the book catalog to file, taking in to account any of the above changes, for future reuse.