java学习

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)写字符串:

读字符串:

上一篇下一篇

猜你喜欢

热点阅读