输入流FileInputStream和输出流 FileOutputStream,实现的是对磁盘文件的顺序读写,而且读写要分别创建不同对象。相比之下RandomAccessFile类则可对文件实现随机读写操作。
RandomAccessFile对象的文件位置指针遵循下面的规律:
·新建RandomAccessFile对象的文件位置指针位于文件的开头处;
·每次读写操作之后,文件位置的指针都相应后移到读写的字节数;
·可以通过getFilePointer方法来获得文件位置指针的位置,通过seek方法来设置文件指针的位置。
RandomAccessFile例子:
package net;
import java.io.*;
class RandomAccessFileDemo
{
public static void main(String args[]) throws IOException
{
//以读和写的方式创建RandomAccessFile对象
RandomAccessFile f=new RandomAccessFile("myfile","rw");
System.out.println("File length:"+(f.length())+"B");
System.out.println("File Pointer Position:"+f.getFilePointer());
//下面从文件末尾处开始写数据
f.seek(f.length());
f.writeBoolean(true);
f.writeBoolean(false);
f.writeChar('a');
f.writeChars("Hello!!");
System.out.println("File length:"+(f.length())+"B");
//下面从文件起始处开始读数据
f.seek(0);
System.out.println("kkk::"+f.readBoolean());
System.out.println("kkk::"+f.readBoolean());
while(f.getFilePointer()<f.length())
{
System.out.println(f.readLine());
}
f.close();
}
}
posted on 2007-07-16 22:53
jadmin 阅读(91)
评论(0) 编辑 收藏