📄 dvdlibrary.java
字号:
/* * DVDLibrary.java * * */package com.dvd.model;import java.io.*;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * * @author */public class DVDLibrary implements DVDLibraryInterface{ private File libraryFile; private List dvdCollection; private List genreList; public DVDLibrary(String dataDirectory) { // Initialize data directory and collection file this.libraryFile = new File(dataDirectory, "my-library.txt"); // Initialize and load the DVD collection this.dvdCollection = new ArrayList(); readFile(); // Initialize and populate the genre list this.genreList = new ArrayList(); this.genreList.add("Drama"); this.genreList.add("Sci-Fi"); this.genreList.add("Romance"); this.genreList.add("Musical"); this.genreList.add("Action"); this.genreList.add("Comedy"); } public List getDVDCollection() { return Collections.unmodifiableList(dvdCollection); } public DVDItem addDVD(String title, String year, String genre) { DVDItem item = new DVDItem(title, year, genre); dvdCollection.add(item); appendToFile(item); return item; } public List getGenres() { return Collections.unmodifiableList(genreList); } public void addGenre(String new_genre) { if ( ! genreList.contains(new_genre) ) { genreList.add(new_genre); } } private void readFile() { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(libraryFile)); String line; // Read every dvd entry in the file while ( (line = reader.readLine()) != null ) { String[] elements = line.split("\\|"); // Extract the data fields for the record String title = elements[0]; String year = elements[1]; String genre = elements[2]; // Add the new League item to the set DVDItem item = new DVDItem(title, year, genre); dvdCollection.add(item); } } catch (Exception e) { e.printStackTrace(); } finally { if ( reader != null ) { try { reader.close(); } catch (Exception e) {} } } } private void appendToFile(DVDItem item) { PrintWriter libraryWriter = null; try { // Open a writer stream and mark it to append the new data libraryWriter = new PrintWriter(new FileWriter(libraryFile, true)); libraryWriter.print(item.getTitle()); libraryWriter.print('|' + item.getYear()); libraryWriter.print('|' + item.getGenre() ); libraryWriter.println(); } catch (Exception e) { throw new RuntimeException(e); // Clean up IO resources } finally { if ( libraryWriter != null ) { try { libraryWriter.close(); } catch (Exception e) { System.err.println(e); } } } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -