RandomAccessFile类

如何读取文件某一位置?

代码如下(示例):

package com.vetor.lesson;

import java.io.File;
import java.io.FileWriter;
import java.io.RandomAccessFile;
import java.util.Scanner;

public class MyRandom {
	
	public static void main(String[] args) {
		//新建RandomFile.txt文件
		File f = new File("RandomFile.txt");
		try
		{
			f.createNewFile();
		}catch (Exception e)
		{
			System.out.println(e);
		}
		//往文件中输入信息
		String str = "abcdefghjklmnopqrstuvwxyz";
		try
		{
			FileWriter fw = new FileWriter(f);  //写入
			fw.write(str);   
			fw.close();
		}catch(Exception e)
		{
			System.out.println(e);          
		}
		//从键盘输入0~25的整数
		int a = -1;
		Scanner reader = new Scanner(System.in);
		while(a<0||a>25)
		{
			System.out.println("从键盘输入一个0~25的整数");
			a = reader.nextInt();
			
		}
		//随机访问文件中的字符
		try
		{
			RandomAccessFile inFile = new RandomAccessFile("RandomFile.txt", "r");
			/**
			 * 可以在文件的任何位置查找或者写入数据,
			 * 打开一个随机存取文件,要么进行只读操作,可以通过第二个参数来指定,
			 * r表示读取,rw表示读写
			 * seek()方法指定位置,范围0~long型整数
			 * read()方法 :对文件读取
			 * write()方法 : 对文件写入
			 */
			inFile.seek(a); //将文件指针移动到整数a的位置
			char c = (char)inFile.read(); //在inFile中读入一个字符赋值给变量c
			inFile.close();
			System.out.println("RandomFile.txt文件中第"+a+"个字符是"+c);
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
	}

}

测试结果:

在这里插入图片描述

总结

        inFile.seek(a); //将文件指针移动到整数a的位置,无返回值
		char c = (char)inFile.read(); //在inFile中读入一个字符赋值给变量c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值