Java IO----RandomAccessFile

可以访问(读/写)一个文件中任意位置的字节信息

//arg0 要访问的文件

//arg1 要访问的模式,"R"只读模式,“RW”读写模式

RandomAccessFile(File,String)throws FileNotFoundException

RAF 维护一个指针,指向要读写的位置,指针会随着读写自动后移

int read()

void write(int)

seek(long)

long getFilePointer()

	public static void main(String[] args) throws Exception {
		File file=new File("demo");
		RandomAccessFile demo=new RandomAccessFile(file,"rw");//以读写方式打开文件
		int a=demo.read();//读第一字母
		System.out.println((char)a);//16进制输出
		demo.write(65);//指针2处写入56
		demo.seek(3);//将指针移到位置3处
		System.out.println(demo.getFilePointer());//输出当前指针偏移量
		a=demo.read();
		System.out.println(Integer.toHexString(a));
		System.out.println(demo.getFilePointer());//输出当前指针偏移量
		
		byte[] buffer=new byte[10];
		demo.seek(0);
		a=demo.read(buffer);
		System.out.println(a+" "+Arrays.toString(buffer));//将文件数据读取buffer.length到缓冲区buffer中,并返回成功读取的个数a
		System.out.println(demo.getFilePointer());//10,前面读取了10个,即0-9
		
		demo.write(buffer, 2, 6);//将Buffer内容写入文件,从buffer[2]开始,连续写8个。写到当前指针处,覆盖
		demo.close();

	}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值