• 大小: 19KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: 其他
  • 标签:

资源简介

中科大软院的数据库第二次实验,模拟磁盘文件和缓冲区的实现代码。

资源截图

代码片段和文件信息



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  Database\
     文件         232  2013-10-24 19:25  Database\.classpath
     文件         384  2013-10-24 19:25  Database\.project
     目录           0  2015-06-27 17:09  Database\bin\
     目录           0  2015-06-27 17:09  Database\bin\BufferManagerment\
     文件        5748  2015-07-07 15:28  Database\bin\BufferManagerment\BMgr.class
     文件         554  2015-06-27 17:09  Database\bin\BufferManagerment\BMgrInterface.class
     文件         474  2015-07-07 13:36  Database\bin\BufferManagerment\Buffer.class
     文件        1505  2015-06-27 17:09  Database\bin\BufferManagerment\BufferBean.class
     文件         422  2015-06-27 17:09  Database\bin\BufferManagerment\frame.class
     文件        4121  2015-07-07 13:50  Database\bin\Database.class
     目录           0  2015-06-27 17:09  Database\bin\DbfManagerment\
     文件        1835  2015-07-07 11:26  Database\bin\DbfManagerment\DBFfilegenerate.class
     目录           0  2015-06-27 17:09  Database\bin\DiskManagerment\
     文件        2446  2015-07-07 14:49  Database\bin\DiskManagerment\DSMgr.class
     目录           0  2015-06-27 17:09  Database\src\
     目录           0  2015-06-27 17:09  Database\src\BufferManagerment\
     文件        5704  2015-07-07 15:28  Database\src\BufferManagerment\BMgr.java
     文件         972  2013-11-23 20:13  Database\src\BufferManagerment\BMgrInterface.java
     文件         213  2015-07-07 13:36  Database\src\BufferManagerment\Buffer.java
     文件         956  2013-11-23 20:13  Database\src\BufferManagerment\BufferBean.java
     文件         220  2013-11-23 20:20  Database\src\BufferManagerment\frame.java
     文件        2389  2015-07-07 13:50  Database\src\Database.java
     目录           0  2015-06-27 17:09  Database\src\DbfManagerment\
     文件        1014  2015-07-07 11:26  Database\src\DbfManagerment\DBFfilegenerate.java
     目录           0  2015-06-27 17:09  Database\src\DiskManagerment\
     文件        1987  2015-07-07 14:49  Database\src\DiskManagerment\DSMgr.java

评论

共有 条评论