ext2directoryrecord.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 79 行

JAVA
79
字号
/*
 * $Id: Ext2DirectoryRecord.java,v 1.4 2004/01/02 09:16:09 epr Exp $
 */
package org.jnode.fs.ext2;

import org.apache.log4j.Logger;

/**
 * A single directory record, i.e. the inode number and name of an entry in a directory
 * 
 * @author Andras Nagy
 */
public class Ext2DirectoryRecord {
	private int iNodeNr;
	private int recLen;
	private short nameLen;
	private short type;
	private StringBuffer name;
	private static final Logger log = Logger.getLogger(Ext2DirectoryRecord.class);

	/**
	 * @param data:
	 *            the data that makes up the directory block
	 * @param offset:
	 *            the offset where the current DirectoryRecord begins
	 */
	public Ext2DirectoryRecord(byte[] data, int offset) {
		iNodeNr = (int) Ext2Utils.get32(data, offset);
		recLen = Ext2Utils.get16(data, offset + 4);
		nameLen = Ext2Utils.get8(data, offset + 6);
		type = Ext2Utils.get8(data, offset + 7);

		name = new StringBuffer();
		if (iNodeNr != 0) {
			//XXX character conversion
			for (int i = 0; i < nameLen; i++)
				name.append((char) Ext2Utils.get8(data, offset + 8 + i));
			log.debug("Ext2DirectoryRecord(): iNode=" + iNodeNr + ", name=" + name);
		}

	}

	/**
	 * Returns the fileType.
	 * 
	 * @return short
	 */
	public short getType() {
		return type;
	}

	/**
	 * Returns the iNodeNr.
	 * 
	 * @return long
	 */
	public int getINodeNr() {
		return iNodeNr;
	}

	/**
	 * Returns the name.
	 * 
	 * @return StringBuffer
	 */
	public String getName() {
		return name.toString();
	}
	/**
	 * Returns the recLen.
	 * 
	 * @return int
	 */
	public int getRecLen() {
		return recLen;
	}

}

⌨️ 快捷键说明

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