java—File操作
file:文件和目录路径名的抽象表示
文件和目录是可以通过file封装成对象的
1. 构造方法
File(String pathname)//最简单的
File(String parent, String child)//父路径和子路径 合起来就是一个完整的路径
File(File parent, String child)
它只是保存一个路径 没有验证路径是否正确。
相对路径:myFile\java.txt ( 默认是项目下的与模块同级 )
绝对路径:E:\abc\java.txt
2. 创建功能
public boolean createNewFile() //当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。
public boolean mkdir() //创建此抽象路径名指定的目录。//是目录!!文件夹
public boolean mkdirs()//创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。 创建多级目录
// 3个都是如果存在返回flase
File f1 =new File("E:\\abc\\java.txt");
f1.createNewFile();
3. 获取和判断功能
判断路径是文件还是目录
获取父目录下的子目录(和文件)路径地址或名称 //返回的是一个数组
4. 删除功能
f1.delete();
删除文件或目录
删除目录时注意:目录下有文件无法直接删 ,先删文件再删目录。
5.递归
注意:递归出口,使用规则:与原问题相似的规模较小的问题
/*
一对兔子 第3个月开始 每个月 生1对龙凤胎 兔子不死
找规律 每个月等于前两个月的和
*/
public class BuSiShengTu {
public static void main(String[] args) {
int[] arr=new int[20];
arr[0]=1;
arr[1]=1;
for(int i=2;i<arr.length;i++){
arr[i]=arr[i-2]+arr[i-1];
}
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
System.out.println(arr[19]);
System.out.println(f(20));
}
public static int f(int n){
if (n==1 || n==2){
return 1;
}else return f(n-1)+f(n-2);
}
}
6.案例:遍历目录
import java.io.File;
import java.nio.channels.FileLockInterruptionException;
public class BIanLiMuLu {
public static void main(String[] args) {
File srcfile = new File("D:\\杂\\钉钉\\DingDing");
f(srcfile);
}
public static void f(File file){
File[] files = file.listFiles();
if (files!= null){
for (File filei :files){
if (filei.isDirectory()){
f(filei);
}else {
System.out.println(filei.getAbsoluteFile());
}
}
}
}
}