NO.27 文件操作
2017-07-28 本文已影响0人
smallnumber
java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录。
java.io.File:File的每一个实例用于表示文件系统中的一个文件或目录
使用File可以:
1)访问该文件或目录的属性信息(名字,大小,修改日期等)
2)操作文件或目录(创建,删除)
3)若表示的是目录,可以查看该目录中的子项信息
但是不能访问一个文件中的数据
表示文件的相关方法:
文件已存在时创建新文件:
创建文件操作删除一个文件:
删除单个文件File表示目录时:
创建目录方法:
创建一个目录 创建多级目录删除目录:
删除一个目录 删除多级目录(主要)这里有递归调用,就是方法内部调用自己方法的现象称为递归调用,递归现象就是允许程序执行到某个阶段时整体重新来过。
使用递归需要注意:
1)方法内部调用自己方法不能100%成立,否则是死循环。
2)递归层次尽量少,因为递归消耗内存可观,运行效率差。
获取一个目录中的所有子项方法:
查看当前目录的子项文件过滤器过滤子项:File提供了一个重载的listFiles方法,该方法可以指定一个文件过滤器,这样可以将该目录中所有满足过滤器要求的子项获取到。
获取当前目录下的文件下面介绍一个可以读写文件数据的类,Java提供了一个可以对文件随机访问的操作,访问包括读和写操作。该类名为RandomAccessFile。该类的读写是基于指针的操作。
创建文件:
读取文件数据:
文件复制(单字节复制):
速度特别慢,不推荐文件复制(多字节一起复制):随机读写效率差,块读写效率高。所以若希望提高读写效率,可以通过提高每次读写的数据量减少读写次数来达到。
速度很快,或许比window自带的复制还要快文件指针操作:
1)使用RAF读写基本类型数据,以及RAF对指针的操作:
获取指针位置和写出int、long、double值 移动指针读取int、long、double值int skipBytes(int n):方法可以尝试跳过输入的 n 个字节以丢弃跳过的字节,返回跳过的实际字节数。如果 n 为负数,则不跳过任何字节。
2)写字符串:
读字符串: