资源简介
中科大软院的数据库第二次实验,模拟磁盘文件和缓冲区的实现代码。
代码片段和文件信息
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摄像头捕获识别颜色
评论
共有 条评论