Day10【File 类,递归】
- 第一章 File类
- 概述
- File类位于java.io.File 包中,是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找,删除等操作。
- File类构造方法
- public File(String pathname):通过将给定的路径字符串转换为抽象路径名来创建file对 象。
- public File(String parent, String child):从父路径名字符串和子路径名字符串创建新的 File
- 对象
- Public File(File parent, String child):从父路径名字符串和子路径名字符串创建新的 File 对象.
File 类构造方法的示例 //File 创建对象 位于java.io.File public class Test01 { public static void main(String[] args) { //构造方法 //创建File对象方式一 File f=new File("f:\\aaa\\sss\\text.txt");
//创建File对象方式二 File s=new File("f:\\", "aaa\\sss\\text.txt");
//创建File对象方式三
File q=new File("f:\\"); File q1=new File(q,"aaa\\sss\\text.txt"); |
-
- File常用方法
1.3.1. 获取功能的方法
- public String getAbsolutePath():返回此 File 的绝对路径名字符串
- public String getPath():将此 File 转换为路径名字符串
- public String getName():返回由此 File 表示的文件或目录名
- public long length():返回由此 File 表示的文件的长度
- public String getParent():返回由此 File 对象表示的路径的父目录
public class Test01 { public static void main(String[] args) {
//File常用方法的使用 File file=new File("f:\\aaa\\sss\\text.txt"); System.out.println("绝对路径名"+file.getAbsoluteFile()); System.out.println("相对路径名"+file.getAbsolutePath()); System.out.println("文件夹/目录的名字"+file.getName()); System.out.println("返回抽象路径名的父路径"+file.getParentFile()); System.out.println("文件的构造路径"+file.getPath()); System.out.println("返回文件的长度:"+file.length()); System.out.println("返回父目录:"+file.getParent());
} } |
1.3.2 绝对路径和相对路径
- 绝对路径:从盘符开始的路径,这是一个完整的路径
- 相对路径:相对于某个目录的路径,这是一个便捷的路径
1.3.3 判断功能的方法
- public boolean exists():此 File 表示的文件或目录是否真的存在
- public boolean isDirectory():此 File 表示的是否为目录
- public boolean isFile():此 File 表示的是否为文件
- public boolean isHidden():此 FIle 表示的是否为隐藏文件
import java.io.File; //判断功能的方法 public class Test02 { public static void main(String[] args) { //创建File对象 File f1=new File("F:\\aaa\\sss"); //boolean exists()判断文件或目录是否存在。 System.out.println("文件是否存在:"+f1.exists()); //boolean isDirectory()判断表示的文件是否为目录。 System.out.println("是否为目录:"+f1.isDirectory()); //boolean is File() 判断是否为文件 System.out.println("是否为文件:"+f1.isFile()); //boolean isHidden()判断文件是否为隐藏文件。 System.out.println("文件是否为隐藏:"+f1.isHidden()); } } |
1.3.4 创建删除功能的方法
- public boolean createNewFile():如果不存在就创建一个空的文件
- public boolean delete():删除由此 File 表示的文件或目录
- public boolean mkdir():创建由此 File 表示的目录
- public boolean mkdirs():创建由此 File 表示的目录,包括任何必须但不存在的父目录
- public boolean renameTo(File dest):重命名
public class Test03 { public static void main(String[] args) { //创建File对象 File file=new File("F:\\aaas"); if(!file.exists()){ //如果不存在就创建一个新的空文件 try{ file.createNewFile(); }catch(IOException ce){ ce.printStackTrace(); } } //删除一个文件或者目录 file.delete(); File file1=new File("f:\\lwj"); //boolean mkdir()创建一个新的目录 //如果不存在就创建一个新的目录 if(!file1.exists()){ file1.mkdir(); } //boolean mkdirs();同时创建父目录和子目录 File file2=new File("f:\\wzy","lwj"); file2.mkdirs();
//boolean renameTo(File dest)重命名 File file3=new File("f:\\bdit"); file3.mkdir(); file3.renameTo(new File("f:\\lwjjj")); } } |
1.3.5 目录的遍历
- public String[] list():返回一个 String 数组,表示该 File 目录中所有的子文件或目录
- public File[] listFiles():返回一个 File 数组,表示该 File 目录中所有的子文件或目录
//关于目录的遍历 public class Test04 { public static void main(String[] args) {
//String[] list();返回一个String数组,表示该file目录中所有的文件或目录 File ff=new File("E:\\"); String[]arry=ff.list(); for(String ss:arry){ System.out.println(ss); }
//File[] listFiles();返回一个File数组,表示该file目录中所有的文件和目录 File ff2=new File("F:\\"); File[]ss=ff2.listFiles(); for(File f:ss){ System.out.println(f.getName()); } } }
|
- 递归
2.1 递归概述
- 递归: 指在当前方法内调用自己的现象。
- 递归的分类:
- 直接递归和间接递归
- 直接递归称为:方法自身调用自己。
- 间接递归称为A方法调用B方法,B方法调用C方法,C方法调用D方法。
- 注意事项:
- 递归一定要有条件限定,保证递归能够停下来,否则会发生内存的溢出。
- 在递归中虽然有限定条件,但是递归的次数不能太多,否则会发生内存溢出。
- 构造方法,禁止递归。