RandomAccessFile是属于随机读取类,是可以对文件本身的内容直接随机进行操作的,可以在文件的指定位置
的读取和写入内容,这在很多时候都是很方便的。
- import java.io.IOException;
- import java.io.RandomAccessFile;
- /**
- * RandomAccessFile是属于随机读取类,是可以对文件本身的内容直接随机进行操作的,就是说可以指定位置
- * 的读取和写入内容
- * @author andy
- *
- */
- public class RandomAccessFileTest {
- public static void main(String args[]) throws IOException {
- write();
- read();
- }
- public static void write() throws IOException {
- //以读写的方式来访问该文件
- RandomAccessFile raf = new RandomAccessFile("D:\\test.txt", "rw");
- raf.writeBytes("Hello World!");
- raf.writeBoolean(true);
- raf.writeInt(30);
- raf.writeDouble(3.56);
- raf.close();
- }
- public static void read() throws IOException {
- RandomAccessFile raf = new RandomAccessFile("D:\\test.txt", "r");
- raf.seek(12);//设置指针的位置
- boolean booleanValue = raf.readBoolean();
- int intValue = raf.readInt();
- double doubleValue = raf.readDouble();
- raf.seek(0);//设置指针的位置为文件的开始部分
- byte[] bytes = new byte[12];
- for (int i=0; i<bytes.length; i++)
- bytes[i] = raf.readByte();//每次读一个字节,并把它赋值给字节bytes[i]
- String stringValue = new String(bytes);
- raf.skipBytes(1);//指针跳过一个字节
- int intValue2 = raf.readInt();
- raf.close();
- System.out.println(booleanValue);
- System.out.println(intValue);
- System.out.println(doubleValue);
- System.out.println(stringValue);
- System.out.println(intValue2);
- }
- }