JAVA学习——RandomAccessFile

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

 RandomAccessFile类也是IO包下面的一个类,它不属于流类,但却具有读写文件数据的功能,可以 随机的从文件任何位置进行读写数据的操作


RandomAccessFile可以将文件以只读或读写的方式打开,具体使用哪种方法取决于创建他采用的构造方法

可以看到,在创建对象时,都要传入两个参数

第一个参数都是指定关联的文件

第二个参数mode是指访问模式,在这里,有四个值,但常用的只有两个,分别是“r”,“rw”

“r”——只读模式,表示以只读的方式打开文件,如果文件不存在,会抛出IOException异常。

“rw”——读写模式,表示以读写的方式打开文件,如果文件不存在,会自动创建该文件。


RandomAccessFile在实际开发中也非常的常见。我们经常会看到有些软件在使用的时候,需要付费使用,但一般都会有免费使用次数提供,这里就用到了RandomAccessFile类来实现此功能。

在这里,我也做了一个相应的小练习:

新建一个文本文档,并输入数字5作为软件的试用次数

/**
 * RandomAccessFile类实现软件使用次数
 * @author Shawn·Zhang
 */
import java.io.IOException;
import java.io.RandomAccessFile;

public class Example09 {

	public static void main(String[] args) throws IOException {
		String file = "E:\\java\\times.txt";
		RandomAccessFile raf = new RandomAccessFile(file, "rw");
		int times = 0;//表示试用的次数
		times = Integer.parseInt(raf.readLine());//第一次读取文件时times为5
		if(times>0){
			System.out.println("您还可以试用"+times--+"次");//使用一次,减少一次
			raf.seek(0);//使记录指针指向文件的开头
			raf.writeBytes(times+"");//将剩余的次数再次写入文件
		}else{
			System.out.println("软件使用次数已到期");//当times<=0,告诉用户试用已经到期
		}
		raf.close();//关闭RandomAccessFile对象
	}

}

测试结果也如图:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值