学习笔记I/O篇之六

 

import  java.io. * ;

class  RandomFileTest
{
 
public static void main(String[] args) throws Exception
 
{
  Student s1
=new Student(1,"zhangsan",98.5);
  Student s2
=new Student(2,"lisi",96.5);
  Student s3
=new Student(3,"wangwu",78.5);
  RandomAccessFile raf
=new RandomAccessFile("student.txt","rw");
  s1.writeStudent(raf);
  s2.writeStudent(raf);
  s3.writeStudent(raf);
  
  Student s
=new Student();
  raf.seek(
0);
  
for(long i=0;i<raf.length();i=raf.getFilePointer())
  
{
   s.readStudent(raf);
   System.out.println(s.num
+":"+s.name+":"+s.score);
  }

  raf.close();
 }

}


class  Student
{
 
int num;
 String name;
 
double score;
 
public Student()
 
{
 }

 
public Student(int num,String name,double score)
 
{
  
this.num=num;
  
this.name=name;
  
this.score=score;
 }

 
public void writeStudent(RandomAccessFile raf) throws IOException
 
{
  raf.writeInt(num);
  raf.writeUTF(name);
  raf.writeDouble(score);
 }

 
public void readStudent(RandomAccessFile raf) throws IOException
 
{
  num
=raf.readInt();
  name
=raf.readUTF();
  score
=raf.readDouble();
 }

}
 

 

RandomAccessFile类同时实现了DataInput和DataOutput接口,提供了对文件随机存取的功能,利用这个类可以在文件的任何位置读取或写入数据。
RandomAccessFile类提供了一个文件指针,用来标志要进行读写操作的下一数据的位置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值