java io 之RandomAccessFile类

结论1:

java文件模型,在硬盘上的文件是byte 存储的。

结论2:

RandomAccessFile类,java提供的访问文件内容的类。对文件的操作模式有2种,读写'rw'或者读'r'模式。

结论3:

RandomAccessFile类,支持随机访问文件,可以访问文件的任意位置。

结论4:

使用场景为分段下载,断点续传。比如迅雷下载大文件时,采取的也是多个进程分段访问一个大文件,然后再将这个大文件拼接起来的操作。拼接起来的时候,得知道和哪段拼接,就得知道每个分段的位置。

结论5:

RandomAccessFile raf = new RandomAccessFile(file,"rw"),表示对象raf对file可以做读写操作。

raf.getFilePointer(),获取'指针'的位置,'指针'表示的是当前操作到第几个字节byte。

raf.write('A'),写操作。每次只写8个字节,且从低8位开始写。一个char是2个字节,所以raf.write('A')只写了一个字节到raf.txt中,而'A'的ascii码为十进制32,二进制100000,所以即使只写了一个字节进去也是可以表示'A'的。

raf.read(),读操作。

上一篇:File类,RandomAccessFile类,IO流,NIO流


下一篇:RandomAccessFile短点续传