Java基础 - RandomAccessFile

Java基础 - RandomAccessFile(文件操作)

列出的为较为常用的相关知识,因为我也是一名小白,所以希望能够通过博客来督促自己学习,若有错误请联系我!!!希望能够一起共同进步,共同成长!

RandomAccessFile位于 java.io.RandomAccessFile
RAF是专门用来读写文件数据的API,其基于针对文件任意位置进行读写。
使用:

RandomAccessFile raf = new RandomAccessFile("./xxx","rw");	// -> 若权限为r 文件不存在,会抛出错误。
															// -> 若权限为rw 文件不存在,会自动创建文件。

RandomAccessFile的API:

	raf.write(int d);						// 写入文件中1字节,对应2进制的“低八位”。
	raf.write(byte[] data);					// 一次性将给定字节数组中所有字节写入文件。
	raf.write(byte[] data,int s,int len);	// 将给定字节数组从下标s处开始的连续len个字节一次性写入文件。
	raf.writeInt(int data);					// 将Int值写入文件。
	raf.writeDouble(double d);	...			// 将Double值写入文件...
	
	raf.read();								// 从文件中读取1字节,并以int形式返回,若返回-1则表示文件末尾。
	raf.read(byte[] data);					// 一次性从文件中读取给定数组总长度的字节量,并将读取到的数据存入到该数组中,
											// 返回值为实际读取到的字节量。
											// 若返回-1,则表示文件末尾(本次没有读取到任何数据)。
	raf.readInt();							// 读一个int大小(4个字节)并返回该int值,若连续读取4个字节的过程发现读取到了文件末尾,
											// 此时会抛出异常EOFException(end of file)文件末尾。

	raf.length();			// 获取文件大小
	
	raf.seek(long pos);		// 将指针移动到指定的位置
	raf.getFilePointer();	// 获取当前指针位置,返回long值(开始从0位置)
	
	raf.close();			// 关闭 raf

向文件中写入字符串:

	String line = "xxxxxxxxxxxx";
	byte[] data = line.getBytes("utf-8");	// getBytes()方法要求我们传入一个字符串从那和苏表示字符集的名称
											// 该名称不分大小写,作用是将当前字符串按照给定的字符集转换为一
											// 组字节,推荐用这种方式,不要按照系统默认字符集操作。
	raf.write(data);

复制文件:

	RandomAccessFile src = new RandomAccessFile("./xxx.xx","r");
	RandomAccessFile desc = new RandomAccessFile("./xxx.xx","rw");
	byte[] data = new byte[1024*10];
	int d = -1;
	while((d = src.read(data)) != -1){
		desc.write(data,0,d);
	}
	src.close();
	desc.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值