1.3
String getAbsolutePath() 返回此File对象绝对路径字符串
String getPath () 返回此File对象的路径字符串
String getName() 返回File对象的代表的文件或目录名称
long length() 返回File对象的文件长度
1.4 相对路径和绝对路径
绝对路径:从盘符开始的路径,这是一个完整的路径
相对路径:相对于项目路径的路径,这是一个相对便捷的路径 ,开发中经常用
import java.io.File;
public class Demo3
{
public static void main(String[] args)
{
File f1=new File("D:/aaa/bbb/c.txt");
System.out.println("绝对路径为"+f1.getAbsolutePath());
File f2=new File("c.txt");
System.out.println("路径为"+f2.getAbsolutePath());
}
}
1.5 判断功能方法
boolean exists() 此File对象表示的文件或目录是否存在
boolean isDirectory() 此File对象是否为目录
boolean isFile() 此File对象是否为文件
import java.io.File;
public class Demo4
{
public static void main(String[] args)
{
File file=new File("D:\\aaa\\bbb\\c.txt");
File file1=new File("d:/ccc/ddd/eee.txt");
//CRUD create 增 read 查 update 改 delete 删
//判断是否存在
System.out.println("file存在吗?"+file.exists());
System.out.println("file1存在吗?"+file1.exists());
//判断是文件还是目录
System.out.println("file是文件吗?"+file.isFile());
System.out.println("file是目录吗?"+file.isDirectory());
}
}
1.6 创建删除功能
boolean creatNewFile() 当且仅当file对象不存在时。创建一个新的文件
boolean delete() 删除此抽象路径名表示的文件或目录
mkdir() 创建此抽象路径指定的目录
**mkdirs()**包括所有存在但不必须的父目录
delete方法如果我们的file为目录的话,目录下必须为空
import java.io.File;
import java.io.IOException;
public class Demo5
{
public static void main(String[] args) throws IOException {
File file=new File("D:\\chen.txt");
//文件的创建
System.out.println("是否存在"+file.exists());
System.out.println("是否创建"+file.createNewFile());
System.out.println("是否存在"+file.exists());
System.out.println("=================================");
//目录的创建
File dir =new File("D:\\chen");
System.out.println("是否存在"+dir.exists());
System.out.println("是否创建"+dir.mkdir());
System.out.println("是否存在"+dir.exists());
System.out.println("=================================");
//多级目录创建
File dirs=new File("D:/Tieria/erde");
System.out.println("是否创建"+dirs.mkdir());
System.out.println("是否创建"+dirs.mkdirs());
System.out.println("=================================");
//文件删除
System.out.println(file.delete());
System.out.println("=================================");
//目录删除
System.out.println(dir.delete());
System.out.println("=================================");
//多级目录删除
System.out.println(dirs.delete());
System.out.println("=================================");
File dirl1 =new File("aaa");
System.out.println(dirl1.delete());
}
}
1.7目录的遍历
String[ ] list() 返回一个字符串数组,表示该File目录中,所有子文件和目录
File [ ] listFiles() 返回一个String数组,表示该目录下的所有文件
import java.io.File;
public class Demo6_1
{
public static void main(String[] args)
{
File file=new File("D:\\Steam");
//获取当前目录下的所有文件和目录
String[] names=file.list();
for (String name : names)
{
System.out.println(name);
}
System.out.println("===================================");
//只获取文件对象,有了对象,就可以获得更多信息
File[] names1=file.listFiles();
for (File file1 : names1) {
System.out.println(file1);
}
}
}
递归
指在当前方法内调用自己的现象
直接递归
当前方法内调用自身
间接递归
方法a调用方法b,方法b再调用方法c,方法调方法a
注意
1.在递归中一定要有条件限定,保证我们的递归可以停下,否则栈内存溢出
2.有了条件限定只有,也要注意递归次数不要太多,否在也会造成栈溢出错误
3.构造方法不能递归。
----愿你的勇气,我的剑,以及我们共同的胜利,与太阳同在