java中RandomAccessFile 类对文件进行读写

/*
RandomAccessFile进行文件的读写这个类实现了 Inputstream和 OutputStream 接口
可以很方便的对文件进行读写操作
*/
import java.io.* ;
class Test
{
public static void main(String []args) throws Exception
{
FileTesto1=new FileTest(1,"xiaoming") ;
FileTesto2=new FileTest(2,"xiaowang");
FileTest o3=new FileTest(3,"xiaolizi");
RandomAccessFile raf=new RandomAccessFile("111.txt","rw"); //读写方式打开文件
o1.writeFile(raf);
o2.writeFile(raf);
o3.writeFile(raf); //传递raf
raf.seek(0); //文件指针移动到开头
FileTest w=new FileTest() ; //构造一个控对象来进行访问
for(int n=0;n<raf.length();n=(byte)raf.getFilePointer())
{
w.readFile(raf); //将读取到的文件内容 写入raf的成员中
System.out.println(w.num+" "+w.name); //读取数据
}


}


}
class FileTest
{
int num ;
String name ;
FileTest()
{
}
FileTest(int num,String name)
{
this.num=num ;
this.name=name ;
}
public void writeFile(RandomAccessFile raf) throws Exception
{
raf.writeInt(num) ;
raf.writeUTF(name); //会在字符串开始位置记录字符的个数
}

public void readFile(RandomAccessFile raf) throws Exception
{
num=raf.readInt() ;
name=raf.readUTF() ;
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值