简单文件系统的实现java_简单的文件系统设计

实验三

文件系统设计实验

. 实验目的

用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

二、实验要求

要求设计一个n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。

程序采用二级文件目录(即设置主目录[MFD],包括用户名和指向文件目录的指针)和用户文件目录(UFD,即文件目录,包括文件名,保护码,文件长度等)。另外,为打开文件设置了运行文件目录(AFD,文件执行读命令或写命令之前,把相关文件目录信息调入AFD)。在执行读写命令时,需改读写指针,。

文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。

程序中使用的主要设计结构如下:主文件目录和用户文件目录(MFD、UFD)、打开文件目录(AFD)(即运行文件目录)

M D F

用户名

文件目录指针

U F D

文件名

保护码

文件长度

A F D

打开文件名

打开保护码

读写

指针

实现:

1.定义好文件对象

public

class File {

private int[] rwx = new int[3];// 安全标记

private java.io.File file ;

public

String getRwx() {

return

Integer.toString(rwx[0])+Integer.toString(rwx[1])+Integer.toString(rwx[2]);

}

public

File({

this.file = file;

this.setRwx(rwx);

}

public

File({

this.file = file;

this.setRwx(rwx);

}

public

void setRwx(int[] rwx) {

this.rwx = rwx;

}

public

void setRwx(String rwx) {

this.rwx[0]=Integer.parseInt(String.valueOf(rwx.charAt(0)));

this.rwx[1]=Integer.parseInt(String.valueOf(rwx.charAt(1)));

this.rwx[2]=Integer.parseInt(String.valueOf(rwx.charAt(2)));

}

public

boolean CanRead() {

if

(this.rwx[1] == 1) {

return

true;

}

return

false;

}

public

boolean CanWrite() {

if

(this.rwx[1] == 1) {

return

true;

}

return

false;

}

public

boolean CanXing() {

if

(this.rwx[1] == 1) {

return

true;

}

return

false;

}

public

{

return

this.file;

}

public

void setFile( {

this.file = file;

}

}

2.用户对象

import java.util.ArrayList;

public class User {

private String username;// 用户名

private ArrayList filefold= new ArrayList();//用户目录

private int foldsize=10;// 目录大小

public User(){}

public User(String username){

this.username = username;

java.io.File ff = new

;

//这是在windows下,若操作系统为linux,可改为/user/下建用户目录。

ff.mkdir();

}

public String getUsername() {

return u

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值