java.io.File类型
一、概念
可以用来创建,删除文件/目录,还可以查看文件/目录的属性信息。但是不可以修改文件里的数据,如果需要修改,应该使用输入/输出流。
二、常用构造器
File(String pathname):创建一个指定路径的File对象。
File(File parent,String child):在指定parent路径下,创建一个child的File对象。
File(String parent,String child):在指定的parent路径下,创建一个child的File对象。
三、绝对路径与相对路径
绝对路径:是从根目录开始写的路径。
从盘符开始书写:
window:D:\a\f1.txt、D:\a\b
linux:/home/scott/f1.txt、/home/scoot
相对路径:相对某一文件/目录的路径,不是从根路径书写。如:
f2.txt相对于a目录的路径:
window:b\f2.txt
linux:b/f2.txt
f3.txt相对于f2.txt的路径:
../c/f3.txt
四、常用方法
boolean exists():判断指定路径是否存在。
boolean isFile():判断指定路径是不是文件。
boolean isDirectory():判断指定路径是不是目录。
String getName():获取文件/目录名称。
long lastModified():获取文件/目录的最后修改时间。
boolean isAbsolute():判断指定路径是不是绝对路径。
String getAsolutePath():获取绝对路径。
String getParent():获取父目录的路径。
long length():获取文件大小。
文件/目录创建方法:
boolean createNewFile():创建文件。
boolean mkdir():创建目录。
boolean nkdirs():创建多级目录。
boolean delete():可以删除文件/目录,需要目录下没有文件或者目录。
File[] listFiles():获取目录里的file对象。
PS:递归
递归思想:分成递与归。一层层递进,最后再一层层归。
两种递归:
(1)方法调用自己。
(2)方法A调用方法B,方法B调用方法A
如:
n*(n-1)*…*1
计算n的阶乘:
z=f(n)
=n*f(n-1)
=n*f(n-1)*f(n-2)
=n*f(n-1)*.....*1
f(n)是一个函数:
里面的逻辑:n*f(n-1)