superblock.java

来自「NAS文件器的模拟」· Java 代码 · 共 46 行

JAVA
46
字号
package fileSystem;

import java.io.RandomAccessFile;

public class SuperBlock {
	
	/*一个磁盘块的大小(KB)*/
	private int size_diskBlock;  
	/*i节点个数*/
	private int count_iNode;
	/*i节点位图所占磁盘块个数*/
	private int count_diskBlock_iNodeBitMap;
	/*数据块位图所占磁盘块个数*/
	private int count_diskBlock_fileBipMap;
	/*第一个数据块是磁盘上的第几个块*/
	private int first_diskBlock_file;
	/*最大文件长度(KB)*/
	private int maxLength_file;
	/*根目录的i节点号*/
	private INodeNumber iNode_root;
	
	public SuperBlock (String infile) {
		try {
			RandomAccessFile in = new RandomAccessFile(infile, "r");
			size_diskBlock = in.readInt();
			count_iNode = in.readInt();
			count_diskBlock_iNodeBitMap = in.readInt();
			count_diskBlock_fileBipMap = in.readInt();
			first_diskBlock_file = in.readInt();
			maxLength_file = in.readInt();
			iNode_root = new INodeNumber(in.readInt());
			in.close();
		}
		catch (java.io.FileNotFoundException e){
			System.out.println("ERROR! can't find file: \"" + infile + "\"");
		}
		catch (Exception e){
			System.out.println("ERROR! wrong file format");
		}
	}
	
	public INodeNumber getINodeRoot () {
		return iNode_root;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?