posts - 495,  comments - 11,  trackbacks - 0

输入流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 阅读(88) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: