ext2test.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 90 行
JAVA
90 行
/*
* $Id: Ext2Test.java,v 1.3 2003/12/26 08:11:04 epr Exp $
*/
package org.jnode.fs.ext2.test;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import org.jnode.driver.block.FileDevice;
import org.jnode.fs.FSDirectory;
import org.jnode.fs.FSEntry;
import org.jnode.fs.FSFile;
import org.jnode.fs.FileSystemException;
import org.jnode.fs.ext2.Ext2FileSystem;
/**
* Ext2 fs test, reads a disk image
* to be run outside of JNode
*
* @author Andras Nagy
*/
public class Ext2Test {
public Ext2Test() {
//read the disk image of an ext2fs partition
File partImg = new File("/home/blind/java/jnode/ext2/ext2.img");
Ext2FileSystem ext2fs=null;
//FileDevice implements BlockDeviceAPI
FileDevice fd = null;
try {
fd = new FileDevice(partImg, "r");
} catch (IOException e){
System.out.println("error when reading disk image");
System.exit(-1);
}
try{
ext2fs = new Ext2FileSystem(fd);
} catch (FileSystemException e) {
System.out.println("error when constructing Ext2FileSystem");
e.printStackTrace();
System.exit(-1);
}
try{
FSDirectory root = ext2fs.getRootEntry().getDirectory();
System.out.println("getRootEntry().isDirectory(): "+ext2fs.getRootEntry().isDirectory());
System.out.println("getRootEntry().isFile(): "+ext2fs.getRootEntry().isFile());
Iterator rootIterator = root.iterator();
while(rootIterator.hasNext()) {
FSEntry entry=(FSEntry)rootIterator.next();
System.out.println(entry.getName());
//if the entry is a file, print its first 80 characters
/*
if(entry.isFile()) {
FSFile file = entry.getFile();
byte[] data = new byte[80];
file.read(0, data, 0, data.length);
StringBuffer buf=new StringBuffer(data.length);
for(int i=0; i<data.length; i++)
buf.append((char)data[i]);
System.err.println(buf.toString());
}*/
//print one file
if(entry.getName().equals("xfonts")) {
FSFile file = entry.getFile();
byte data[]=new byte[(int)file.getLength()];
file.read(0, data, 0, data.length);
StringBuffer buf=new StringBuffer(data.length);
for(int i=0; i<data.length; i++)
buf.append((char)data[i]);
System.out.println(buf.toString());
}
}
}catch(IOException e) {
System.out.println("error when parsing root directory");
e.printStackTrace();
System.exit(-1);
}
}
public static void main(String[] args) {
new Ext2Test();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?