Java核心类库-IO-随机访问文件(RandomAccessFile)
随机访问文件:表示可以在该文件任何位置读取数据。
public class RandomAccessFileDemo
{
public static void main(String[] args) throws Exception {
File f = new File("raf.txt");
//write(f);
read(f);
}
private static void read(File f) throws Exception {
//r表示只读
RandomAccessFile raf = new RandomAccessFile(f,"r");
System.out.println("文件指针位置:"+ raf.getFilePointer());//0
byte b = raf.readByte();
System.out.println(b);//64
System.out.println("文件指针位置:"+ raf.getFilePointer());//1
String str = raf.readUTF();
System.out.println(str);//邓肯
System.out.println("文件指针位置:"+ raf.getFilePointer());//9
raf.seek(0);//设置文件指针位置
System.out.println("文件指针位置:"+ raf.getFilePointer());//0
raf.skipBytes(9);//设置文件指针跳过9个字节
System.out.println("文件指针位置:"+ raf.getFilePointer());//9
int i = raf.readInt();
System.out.println(i);
System.out.println("文件指针位置:"+ raf.getFilePointer());//13
raf.close();
}
private static void write(File f) throws Exception {
//rw表示读写
RandomAccessFile raf = new RandomAccessFile(f,"rw");
raf.writeByte(65);
raf.writeUTF("邓肯");//使用的是修改之后的UTF-8,多两个字节
raf.writeInt(20);
raf.close();
}
}
RandomAccessFile经常用来做多线程下载:
1. 多线程
2. 多点下载