📄 dvdlibrary.java
字号:
package dvd.model;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class DVDLibrary {
private static final List DVDITEM_CACHE = new LinkedList();
public DVDLibrary()
{
synchronized (DVDITEM_CACHE)
{
if (DVDITEM_CACHE.isEmpty())
{
caheDVDItem();
}
}
}
@SuppressWarnings("unchecked")
public DVDItem createDVDItem(String title,String year,String genre)
{
int nextID = DVDITEM_CACHE.size() + 1;
DVDItem item = new DVDItem(nextID,title,year,genre);
storeDVDItem(item);
DVDITEM_CACHE.add(item);
return item;
}
@SuppressWarnings("unchecked")
private static void caheDVDItem()
{
//String dataDirectory = System.getProperty("dvd.model.dataDirectory");
String DVDFile = "C:\\my-library.txt";
BufferedReader DVDReader = null;
try
{
DVDReader = new BufferedReader(new FileReader(DVDFile));
String record;
while( (record = DVDReader.readLine())!= null)
{
String[] elemets = record.split("\\|");
int count = 0;
while(true)
{
if(count < elemets.length)
{
int objectID = Integer.parseInt(elemets[count++]);
String title = elemets[count++];
String year = elemets[count++];
String genre = elemets[count++];
DVDItem item = new DVDItem(objectID,title,year,genre);
DVDITEM_CACHE.add(item);
}
else
break;
}
}
}catch(Exception e)
{
System.err.println(e);
}finally
{
if (DVDReader!= null)
{
try
{
DVDReader.close();
}catch(IOException e){}
}
}// end of finally
}
@SuppressWarnings("unused")
private void storeDVDItem(DVDItem item)
{
//String dataDirectory = System.getProperty("dvd.model.dataDirectory");
String DVDFile = "C:\\my-library.txt";
PrintWriter DVDWriter = null;
try
{
DVDWriter = new PrintWriter(new FileWriter(DVDFile,true));
DVDWriter.print("|");
DVDWriter.print(item.getObjectID());
DVDWriter.print("|");
DVDWriter.print(item.getTitle());
DVDWriter.print("|");
DVDWriter.print(item.getYear());
DVDWriter.print("|");
DVDWriter.print(item.getGenre());
}catch(Exception e)
{
System.err.println(e);
}finally
{
if (DVDWriter!= null)
{
try
{
DVDWriter.close();
}catch(Exception e){ System.err.println(e);}
}
}
}
@SuppressWarnings("unchecked")
public List getAllLDVDItem()
{
return Collections.unmodifiableList(DVDITEM_CACHE);
}
public static void main(String args[])
{
new DVDLibrary();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -