資源簡介
給出一個磁盤塊序列:1、2、3、……、500,初始狀態所有塊為空的,每塊的大小為2k。選擇使用位表、鏈式空閑區、索引和空閑塊列表四種算法之一來管理空閑塊。對于基于塊的索引分配執行以下步驟:
? 隨機生成2k-10k的文件50個,文件名為1.txt、2.txt、……、50.txt,按照上述算法存儲到模擬磁盤中。
? 刪除奇數.txt(1.txt、3.txt、……、49.txt)文件
? 新創建5個文件(A.txt、B.txt、C.txt、D.txt、E.txt),大小為:7k、5k、2k、9k、3.5k,按照與(1)相同的算法存儲到模擬磁盤中。
? 給出文件A.txt、B.txt、C.txt、D
代碼片段和文件信息
package?bitTable;
public?class?BitTable?{
int?[]space;
int?size;
public?BitTable(){
//data=null;
space=new?int[500];
size=2;
}
public?boolean?save(Data?data){??//向磁盤中存文件
boolean?flag;
int?tempSize=(int)(data.getFileSize()+1)/2;
for(int?i=0;i<500;i++){
flag=true;
for(int?j=0;j if((i+j)>=500)
return?false;
else?if(space[i+j]==1){
flag=false;
break;
}
}
if(flag==true){
int?j;
for(j=i;j space[j]=1;
data.setBegin(i);
data.setLen(tempSize);
data.setStatus(true);
return?true;
}
}
data.setStatus(false);
return?false;
}
public?boolean?deleteData(Data?data){??//刪除磁盤中文件
if(data.isStatus()==false)
return?fals
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1601??2018-12-09?10:32??源代碼\BitTable.java
?????文件????????872??2018-12-09?10:15??源代碼\Data.java
?????文件???????1508??2018-12-03?17:14??源代碼\MainTest.java
?????目錄??????????0??2018-12-09?10:41??源代碼
-----------?---------??----------?-----??----
?????????????????3981????????????????????4
評論
共有 條評論