结论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(),读操作。