資源簡介
中科大軟院的數據庫第二次實驗,模擬磁盤文件和緩沖區的實現代碼。

代碼片段和文件信息
import?java.io.BufferedReader;
import?java.io.FileNotFoundException;
import?java.io.FileReader;
import?java.io.IOException;
import?java.util.HashMap;
import?java.util.Map;
import?BufferManagerment.BMgr;
import?BufferManagerment.Buffer;
import?DiskManagerment.DSMgr;
public?class?Database?{
private?BMgr?bMgr?=?new?BMgr();
private?DSMgr?dsMgr?=?new?DSMgr();
public?static?long?time?=?0;
public?static?Map?map?=?new?HashMap();
public?void?read(Integer?pageNUM?String?mode)?throws?IOException?{
bMgr.FindPage(pageNUM?mode?map);
}
public?void?write(Integer?pageNUM?String?mode)?throws?IOException?{
bMgr.FindPage(pageNUM?mode?map);
}
public?void?run()?{
String?str?=?null;
String[]?s?=?null;
String?mode?=?null;
Integer?pageNUM?=?null;
int?i?=?0;
try?{
dsMgr.OpenFile(“E:\\lab2\\data.dbf“);
map.put(“input“?new?Integer(1));
map.put(“output“?new?Integer(1));
map.put(“suit“?new?Integer(1));
BufferedReader?br?=?new?BufferedReader(new?FileReader(
“E:\\lab2\\data-5w-50w-zipf.txt“));
while?((str?=?br.readLine())?!=?null)?{
s?=?str.split(““);
mode?=?s[0];
pageNUM?=?Integer.parseInt(s[1]);
if?(s[0].equals(“0“))?{
read(pageNUM?s[0]);
}?else?{
write(pageNUM?s[0]);
}
i++;
System.out.println(i);
}
bMgr.WriteDirtys(map);
}?catch?(FileNotFoundException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?finally?{
try?{
dsMgr.CloseFile();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
}
public?static?void?main(String[]?args)?{
Database?Db?=?new?Database();
long?start_time?=?System.currentTimeMillis();
Db.run();
long?end_time?=?System.currentTimeMillis();
time?=?end_time?-?start_time;
System.out.println(“DEFBUFSIZE大小“?+Buffer.BUFFSIZE);
System.out.println(“程序運行總時間:“?+?time);
System.out.println(“讀次數:“?+?map.get(“input“));
System.out.println(“寫次數:“?+?map.get(“output“));
System.out.println(“命中次數“+map.get(“suit“));
double?rate=map.get(“suit“)*1.0/(map.get(“input“)+map.get(“output“));
System.out.println(“命中率“+rate);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件?????????232??2013-10-24?19:25??Databa
?????文件?????????384??2013-10-24?19:25??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件????????5748??2015-07-07?15:28??Databa
?????文件?????????554??2015-06-27?17:09??Databa
?????文件?????????474??2015-07-07?13:36??Databa
?????文件????????1505??2015-06-27?17:09??Databa
?????文件?????????422??2015-06-27?17:09??Databa
?????文件????????4121??2015-07-07?13:50??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件????????1835??2015-07-07?11:26??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件????????2446??2015-07-07?14:49??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件????????5704??2015-07-07?15:28??Databa
?????文件?????????972??2013-11-23?20:13??Databa
?????文件?????????213??2015-07-07?13:36??Databa
?????文件?????????956??2013-11-23?20:13??Databa
?????文件?????????220??2013-11-23?20:20??Databa
?????文件????????2389??2015-07-07?13:50??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件????????1014??2015-07-07?11:26??Databa
?????目錄???????????0??2015-06-27?17:09??Databa
?????文件????????1987??2015-07-07?14:49??Databa
- 上一篇:煒煌打印機USB驅動For Win7
- 下一篇:用opencv攝像頭捕獲識別顏色
評論
共有 條評論