package day02;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
public class RandomAccessFileDemo02 {
/**
* 文件的读操作
*/
public static void main(String[] args) {
RandomAccessFile raf = null;
try {
raf =
new RandomAccessFile("raf.dat","r");
/*
* int read()
* 从文件中读取一个字节,并以int值的形式
* 返回,该int值只有"低8位"有效,若是返回
* -1,则说明EOF
* EOF:end of file 文件读取到末尾
*/
System.out.println((char)raf.read());
System.out.println((char)raf.read());
/*
* int read(byte[] b)
* 一次性尝试最多读取给定字节数组长度的
* 字节,并存入到给定的字节数组中,返回值
* 为实际读取到的字节量
*/
byte[] strData = new byte[9];
int i = raf.read(strData);
System.out.println(i);
System.out.println(Arrays.toString(strData));
//解码
String str = new String(strData,"UTF-8");
System.out.println(str);
/*
* int readInt()
* 一次性连续读取4个字节,拼接为int值
*/
System.out.println(raf.readInt());
System.out.println(raf.readInt());
System.out.println(raf.readLong());
System.out.println(raf.readChar());
System.out.println(raf.readDouble());
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}