randomaccessfile使用实例

randomaccessfile使用实例

ID:6077652

大小:47.00 KB

页数:8页

时间:2018-01-02

randomaccessfile使用实例_第1页
randomaccessfile使用实例_第2页
randomaccessfile使用实例_第3页
randomaccessfile使用实例_第4页
randomaccessfile使用实例_第5页
资源描述:

《randomaccessfile使用实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、RandomAccessFile使用实例随机访问类(RandomAccessFile)-输入流FileInputStream和输出流FileOutputStream,实现的是对磁盘文件的顺序读写,而且读写要分别创建不同对象。相比之下RandomAccessFile类则可对文件实现随机读写操作。RandomAccessFile对象的文件位置指针遵循下面的规律:·新建RandomAccessFile对象的文件位置指针位于文件的开头处;·每次读写操作之后,文件位置的指针都相应后移到读写的字节数;·可以通过getFilePointer方法来

2、获得文件位置指针的位置,通过seek方法来设置文件指针的位置。如果某个文件有30个字节,读取数据过程中,从20-30读取,用skip(),但在读取的过程中,前面的字节都被删除掉了,如果用户有这样的需求,先读取10-20字节,之后再读1-10之间的数,再20-30之间,java.io随机访问文件类RandomAccessFilejava.io.RandomAccessFile所有已实现的接口:Closeable,DataInput,DataOutput

3、0

4、

5、10

6、

7、20

8、

9、30

10、(指示器)RandomAccessFile常用方法:s

11、kipBytes(longi):从前往后拨弄指示器的位置,就是跳过多少个字节读取数据。Voidseek(longp):对指示器作决定性的定位,用于从后往前拨弄指示器的位置。对于seek方法,拥有skipBytes()的功能,但seek()在使用过程非常影响系统的开销。只有万不得已的情况下使用。例:seek(0)指示器移到首部RandomAccessFile类,即可以充当输入也可充当输出流。可以看作节点流。构造方法:RandomAccessFile(”路径文件名”,String“rw”/”r”)两个参数,//创建模式:“rw”代表写流

12、,“r”代表读流,RandomAccessFile常用方法Voidclose()Longlength()Voidseek()##LonggetFilePointer()获得当前指针位置,默认为0,Intread()从文件当前位置读取一个字节intread(byte[]b)intread(byte[]b,intoff,intlen)FinalbooleanreadBoolean()从文件当前位置读取boolean类型的一个字节boolean在内存占1/8FinalcharreadChar()从文件中读取2个字节。Finalintrea

13、dInt()从文件中读取4个字节。##FinalStringreadLine()从文件中读取一行后转为String。Voidwrite(byte[]b)将字节数组B中的数据写到文件中。Voidwrite(byte[]b,intoff,intlen)将len个字节从指定字节数组写入到此文件,并从偏移量off处开始。编程实例:往文件中写入三名员工的信息,每个员工含有姓名和年龄两个字段,然后按照第二名,第一名,第三名的先后顺序读出员工信息。//Employee.javapackagesrcpublicclassEmployee{publi

14、cStringname=null;publicintage=0;publicstaticfinalintLEN=8;publicEmployee(Stringname,intage){//控制name的长度if(name.length()>LEN){name=name.substring(0,8);//subString(a,b)取出第a到b-1位置的字符}else{while(name.length()15、is.age=age;}}//RandomFileTest.java启动程序packagesrcimportjava.io.*;publicclassRandomFileTest{publicstaticvoidmain(String[]args)throwsException{Employeee1=newEmployee("zhangsan",23);Employeee2=newEmployee("lili",24);Employeee3=newEmployee("wnagwu",25);RandomAccessFilera=ne

16、wRandomAccessFile("employee.txt","rw");ra.write(e1.name.getBytes());//write()只写入一个字节的数据或是字节数组getBytes()转换成为字节数组ra.wri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。