Java——RandomAccessFile,读写基本数据类型,以及raf指针的操作

package day01;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 * 读写基本数据类型,以及raf指针的操作
 * @author Administrator
 *
 */
public class RandomAccessFileDemo6 {
	public static void main(String[] args) throws IOException {
		RandomAccessFile raf = new RandomAccessFile(
				"raf.dat","rw");
		//获取指针位置
		long pos = raf.getFilePointer();
		System.out.println("pos:"+pos);
		
		//向文件中写入int最大值
		int max = Integer.MAX_VALUE;
		/*
		 * 							  vvvvvvvv
		 * 01111111 11111111 11111111 11111111
		 * max>>>24
		 * 00000000 00000000 00000000 01111111
		 */
		
		raf.write(max>>>24);
		System.out.println("pos:"+raf.getFilePointer());
		/*
		 * RAF提供了方便我们写出基本类型的相关方法
		 * 
		 */
		//一次性将给定的int值4字节全部写出
		raf.writeInt(max);
		System.out.println("pos:"+raf.getFilePointer());
		
		raf.writeLong(123L);
		System.out.println("pos:"+raf.getFilePointer());
		
		raf.writeDouble(123.123);
		System.out.println("pos:"+raf.getFilePointer());
		
		/*
		 * void seek(long pos)
		 * 移动指针到指定位置。
		 */
		raf.seek(0);
		System.out.println("pos:"+raf.getFilePointer());
		
		//读取  EOF end of file
		int d = raf.readInt();
		System.out.println("long:"+1);
		System.out.println("pos:"+raf.getFilePointer());
		
		//读取long
		raf.seek(8);
		long l = raf.readLong();
		System.out.println("long:"+1);
		System.out.println("pos:"+raf.getFilePointer());
		
		System.out.println("写出完毕");
		raf.close();
		
	}
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43442290/article/details/88651866