最近在找java操作随机文件和顺序文件的资料。顺序文件的好找,但是随机文件的就遇到几个问题了。所以来请教一下大家。
随机文件的定义如下:
随机文件是以随机方式存取的文件,由一组长度相等的记录组成。它有如下特点:
  ·随机文件的记录长度为固定长度。使用前每个字段所占字节必须事先定好。
  · 记录包含有一个或多个字段(Field) ,记录必须是用户自定义标准类型。
  ·每个记录都有一个记录号,随机文件打开后,既可读又可写,可以根据记录号访问文件中的任何一个记录,不需要像顺序文件一样按顺序进行。查的时候我发现很多人都是在用RandomAccessFile这个类来实现对文件的操作,个人觉得与VB中有很大差异。
但我并没用从中发现它体现了随机文件的特点,如以下代码://sFile是一个File类型的对象,指向一个.txt文件
 rf = new RandomAccessFile(sFile, "rw");
      rf.seek(5*8);
      rf.writeDouble(47.0001);
      rf.close();难道所谓的记录号就是通过rf.seek(5*8)这句来实现的么?类似于移动指针?
而固定字节的字段就是通过 rf.writeDouble(47.0001)这个来实现的么?意思就是在写入的时候该方法会写入固定长度的磁盘空间?

解决方案 »

  1.   

    这里的RandomAccessFile指得应该是任何时候都能访问文件中任何位置,而不是像流文件只有一个字节一个字节往前移动,不能回退。跟你说的随机文件的定义好像不一样吧。
      

  2.   

      RandomAccessFile  就是可以随机访问的
       断点续传 就是用这个方法做的啊
     
      

  3.   

    厄,谢谢楼上的总结
    我还是想知道JAVA怎么操作随机文件的
      

  4.   

    RandomAccessFile不是已经提供了足够的方法给你用了吗?就是调用seek,然后调用相应的write语句啊。它自然会在你指定的位置写入数据啊,
    你可以用write(byte[])这个方法指定写入的字节啊