JAVA--高级基础开发

梦想与她 提交于 2019-12-05 05:04:58

Day10【File 类,递归】

  • 第一章 File类
    1. 概述
  1. File类位于java.io.File 包中,是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找,删除等操作。
    1. File类构造方法
  2. public File(String pathname):通过将给定的路径字符串转换为抽象路径名来创建file对 象。
  3. public  File(String parent, String child):从父路径名字符串和子路径名字符串创建新的 File
  4. 对象
  5. 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");

    1. File常用方法

1.3.1. 获取功能的方法

  1.  public String getAbsolutePath():返回此 File 的绝对路径名字符串
  2.  public String getPath():将此 File 转换为路径名字符串
  3.  public String getName():返回由此 File 表示的文件或目录名
  4.  public long length():返回由此 File 表示的文件的长度
  5.  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. 绝对路径:从盘符开始的路径,这是一个完整的路径
  2. 相对路径:相对于某个目录的路径,这是一个便捷的路径

1.3.3 判断功能的方法

  1. public boolean exists():此 File 表示的文件或目录是否真的存在
  2. public boolean isDirectory():此 File 表示的是否为目录
  3. public boolean isFile():此 File 表示的是否为文件
  4. 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 创建删除功能的方法

  1.  public boolean createNewFile():如果不存在就创建一个空的文件
  2.  public boolean delete():删除由此 File 表示的文件或目录
  3.  public boolean mkdir():创建由此 File 表示的目录
  4.  public boolean mkdirs():创建由此 File 表示的目录,包括任何必须但不存在的父目录
  5.  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 目录的遍历

  1.  public String[] list():返回一个 String 数组,表示该 File 目录中所有的子文件或目录
  2.  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 递归概述

  1. 递归: 指在当前方法内调用自己的现象。
  2. 递归的分类:
  • 直接递归和间接递归
  • 直接递归称为:方法自身调用自己。
  • 间接递归称为A方法调用B方法,B方法调用C方法,C方法调用D方法。
  1. 注意事项:
  • 递归一定要有条件限定,保证递归能够停下来,否则会发生内存的溢出。
  • 在递归中虽然有限定条件,但是递归的次数不能太多,否则会发生内存溢出。
  • 构造方法,禁止递归。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!