随机访问种(RandomAccessFile)
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
随机访问类(RandomAccessFile)
随机访问类(RandomAccessFile)
输入流FileInputStream和输出流 FileOutputStream,实现的是对磁盘文件的顺序读写,而且读写要分别创建不同对象。相比之下RandomAccessFile类则可对文件实现随机读写操作。
RandomAccessFile对象的文件位置指针遵循下面的规律:
·新建RandomAccessFile对象的文件位置指针位于文件的开头处;
·每次读写操作之后,文件位置的指针都相应后移到读写的字节数;
·可以通过getFilePointer方法来获得文件位置指针的位置,通过seek方法来设置文件指针的位置。
构造方法:
RandomAccessFile (”路径+文件名”, String“rw”/”r”)两个参数,
//创建模式:“rw”代表写流,“r”代表读流,
RandomAccessFile常用方法
Void close( )
Long length( )
Void seek( )
##Long getFilePointer( )获得当前指针位置,默认为0 ,
Int read( )从文件当前位置读取一个字节
int read (byte[]b)
int read (byte[]b,int off,int len)
Final boolean readBoolean( )从文件当前位置读取boolean类型的一个字节 boolean在内存占1/8
Final char readChar( )从文件中读取2个字节。
Final int readInt( )从文件中读取4个字节。
##Final String readLine( )从文件中读取一行后转为String。
Void write(byte[]b)将字节数组B中的数据写到文件中。
Void write(byte[]b,int off,int len)将 len 个字节从指定字节数组写入到此文件,并从偏移量 off 处开始。
Void write(int b)将指定的数据写到文件中。
Final void writeBoolean(boolean v)将boolean类型的值按单字节的形式写到文件中0或1
Final void writeChar(int v)将char值按2个字节写入到文件中
Final void writeChars(String s)将字符串按字符方式写入到文件中
Final void writeInt(int v)按四个字节将 int 写入该文件,先写高字节
Java代码
import java.io.*;
class RandomAccessFileDemo
{
public static void main(String args[])throws IOException
{
RandomAccessFile f=new RandomAccessFile("myfile","rw");
System.out.println ("File.lelngth:"+(f.length( ))+"B");
System.out.println ("File PointPosition:"+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 (f.readBoolean( ));
System.out.println (f.readBoolean( ));
//while(f.getFilePointer( )<f.length( ));??
System.out.println (f.readLine( ));
f.close( );
}}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
如何查询一个字段内不同值数量?
一个字段名 为 ipaddr
是记录 IP地址的
大约有500条记录
里面有重复的
我现在想查...
-
cmd添加条目后,如何返回autoid
需要添加一个用户,然后返回其自动编号
以前我用这种办法
VBScript code
function addUser(strName)...
-
频繁从数据库中查询数据
现在遇到一个问题就是:用ListView显示数据,数据量可能很大,所以每次都只将要显示的数据取出来,这样如果用户...
-
【求助】ACCESS數據庫如何實現批量修改一列字段的值
ACCESS數據庫如何實現批量修改一列字段的值,也就是我的一個數據庫,裏面一列存...
-
ACCESS奇怪的'标准表达式中数据类型不匹配'?
小弟冲ACCESS数据库向oracle数据库导入数据,用的是insert into select语句.sql如下:...
-
如何对两个查询结果进行横向联合?
两个查询结果的记录数一样,字段不一样,
如何用sql语句将两个查询结果横向联合成一个查询结果?
谢谢...
-
求sql往表中增加新的字段
如何用sql往access表中增加新的字段,该字段是数字类型,为关键字,且默认值为1
求高人啊。
------解决...
-
求救!!!超简单的一个统计怎么实现???分就这么多啦。
求救!!!超简单的一个统计怎么实现???分就这么多啦。
表:销售号 时间 ...
-
Access:对于具有相同字段数目和类型的多个表,在查询条件相同时,有没有简便Select语句写法将查询结果Union起来
分成多个表式为了组...
-
Access 报表筛选器
当报表使用过筛选器后,再次打开报表显示的结果还是上次筛选的结果,如何再次打开报表,是数据还原到没用使用过筛选...