java.io.File类型
概念
可以用来创建,删除文件/目录,还可以查看文件/目录的属性信息,但是不可以修改文件里的数据。如果需要修改,应该使用输入/输出
常用构造器
File(String pathname)---------创建要给指定路径的File对象
File(File parent,String child)----------在指定parent路径下,创建一个child的file对象
Flie(String parent, String child) ------从父路径名字符串和子路径名字符串创建新的 File实例。路径:
(1)文件的路径,要写到文件的扩展名位置
(2)目录的路径,要写到当前目录的名称为止
常用方法
boolean exists():判断指定的路径是否存在
boolean isFile():判断指定路径是不是文件
boolean isDirectory():判断指定路径是不是目录
String getName():获取文件/目录名称
long lastModified()):获取文件/目录的最后修改时间
boolean isAbsolute()):判断路径是不是绝对路径
String getAbsolutePath()): 获取绝对路径 D:\A\f1.txt
String getPath()):获取父目录的路径 D:\A\f1.txt
long length()):获取文件大小文件/目录创建
boolean creatNewFile();
boolean mkdir();
boolean mkdirs()---创建多级目录,文件/目录的删除方法
boolean delete()---可以删除文件,删除目录时,需要目录下没有文件或子目录
javaBean规范
程序开发者默认遵循的一种规范
(1)提供两个构造器
(2)给成员变量提供get/set方法
String name
getName()
setName(String name)
Bean:豆子的意思,get/set方法名上的后续单词称之为bean.
在命名方法时,作为bean的单词首字母要大写
成员变量要尽可能的与bean名一致,首字母小写
(3)重写hashCode方法和equals方法
(4)重写toString()
递归
递归思想:分成递与归。一层层递进,最后再一层层归。
两种递归:
(1)方法调用自己
(2)方法A调用方法B,方法B调用A
public class FileDemo04 {
public static void main(String[] args) {
File file = new File("d2");
deleteDir(file);
//计算第10个斐波那契数值
System.out.println(feibo(10));
//10的阶乘
System.out.println(jieCheng(10));
}
/**
* 计算n的阶乘
*
*/
public static long jieCheng(int n) {
if (n == 0 || n == 1) {
return 1;
}
if (n < 0) {
throw new RuntimeException("不能传入负数");
}
long result = n * jieCheng(n - 1);
return result;
}
public static long feibo(int n) {
if (n <= 0) {
throw new RuntimeException("不能传入零和小于零的数");
}
if (n == 1 || n == 2) {
return 1;
}
long reslut = feibo(n - 1) + feibo(n - 2);
return reslut;
}
public static void deleteDir(File file) {
if (file.exists()) {
if (file.isFile()) {
file.delete();
} else {
File[] subs = file.listFiles();
for (int i = 0; i < subs.length; i++) {
deleteDir(subs[i]);
}
file.delete();
}
} else {
System.out.println("没有此路径");
}
}
}