File
对文件的操作
获取某个目录下所有的子项目
- listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
- listFiles(FileFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
- listFiles(FilenameFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
- listFiles(FileFilter filter):File[]
- File的实例可以对文件进行以上3种访问操作,但是不可以访问文件中的数据。
- RandomAccessFile实例可以实现对文件数据的访问(读写操作)
- 构造方法:
- RandomAccessFile(File/String dest,String mode)
mode:访问模式
常用的2个访问模式:"r" :只读 "rw":读写
- RandomAccessFile(File/String dest,String mode)
- 方法:
- 写数据:
- write(int n):向文件中写入一个字节
- 写数据:
- 作为了解:
- 计算机底层存储的是二进制数据,即保存的是0和1,一个二进制数占用的内存大小即为1位,一个字节占用8位
- byte 1字节 8位的
- int 4字节 32位
- long 8字节 64位
处理器:32位的:处理一个数据时一次占用32位
byte占用低8位
00000000 00000000 00000000 01100000
低八位
处理器处理int值和处理byte值效率是一样的,
因为都是占用32位处理的
- 读数据
- read():int
- 读取一个字节数据,以int形式返回
- 若读取到文件末尾,返回-1
按照单字节方式复制效率低,为了提高效率,我们可以采取每次复制一个字节数组的字节量,从而减少复制的次数,提高效率
- 按照字节数组读取数据
- getFilePointer()
- 该方法用于获取当前RandomAccessFile指针位置
- seek()
- 该方法用于移动当前RandomAccessFlie的指针位置
- skipBytes()
- 尝试跳过输入的 n 个字节以丢弃跳过的字节。
- 此方法可能跳过一些较少数量的字节(可能包括零)。这可能由任意数量的条件引起;在跳过 n 个字节之前已到达文件的末尾只是其中的一种可能。
- 此方法从不抛出 EOFException。返回跳过的实际字节数。如果 n 为负数,则不跳过任何字节。