Java—File

目录

1.File

1.1File类概述和构造方法

1.2File类创建功能

1.3File类判断和获取功能

1.4File类删除功能

1.5递归


1.File

1.1File类概述和构造方法

 File:它是文件和目录路径名的抽象表示
        文件和目录是可以通过File封装成对象的
        对于File而言,其封装的并不是一个直正存在的文件,仅仅是一个路径名而已,它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的

构造方法:

package zyy07;

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        //File(String pathname)
        File f1=new File("E:\\IdeaProject\\JavaSE_Code");
        System.out.println(f1);
        //File(String parent,String child)
        File f2=new File("E:\\IdeaProject","JavaSE_Code");
        System.out.println(f2);
        //File(File parent,String child)
        File f3=new File("E:\\IdeaProject");
        File f4=new File(f3,"JavaSE_Code");
        System.out.println(f4);

    }
}

1.2File类创建功能

package zyy07;

import java.io.File;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws IOException {
        //createNewFile()创建文件
        //如果文件不存在就创建文件,并返回true
        //如果文件存在就不创建文件,并返回false
        File f1=new File("E:\\zyy\\java.txt");
        System.out.println(f1.createNewFile());
        System.out.println("*********");
        //mkdir()创建目录
        //如果目录不存在就创建目录,并返回true
        //如果目录存在就不创建目录,并返回false
        File f2=new File("E:\\zyy\\JavaSE");
        System.out.println(f2.mkdir());
        System.out.println("*********");
        //mkdirs()创建多级目录
        //如果目录不存在就创建目录,并返回true
        //如果目录存在就不创建目录,并返回false
        File f3=new File("E:\\zyy\\JavaWEB\\HTML");
        System.out.println(f3.mkdirs());


    }
}

1.3File类判断和获取功能

package zyy07;

import java.io.File;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws IOException {
        //创建对象
        File f1=new File("E:\\zyy\\java.txt");
        //isDirectory()测试是否是目录
        System.out.println(f1.isDirectory());
        //f1.isFile()测试是否为文件
        System.out.println(f1.isFile());
        //f1.exists()测试是否存在
        System.out.println(f1.exists());
        //getAbsolutePath()返回路径名的绝对路径名字符串
        System.out.println(f1.getAbsolutePath());
        //getPath()将此抽象路径名转换为路径名字符串
        System.out.println(f1.getPath());
        //getName()返回此抽象路径名表示的文件或路径名称
        System.out.println(f1.getName());
        //list()
        File f2=new File("E:\\zyy");
        String[] StrArr = f2.list();
        for(String str:StrArr){
            System.out.println(str);
        }
        System.out.println("*************");
        //listFiles()
        File[] fileArr = f2.listFiles();
        for(File file:fileArr){
            if(file.isFile()){
                System.out.println(file.getName());
            }
        }
    }
}

1.4File类删除功能

 绝对路径和相对路径的区别
        绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\\zyy\java.txt

        相对路径:必须使用取自其他路径名的信息进行解释。例如:myFile\\java.txt

删除目录时的注意事项:
        如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录

package zyy07;

import java.io.File;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws IOException {
        //创建对象
        File f1=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\java.txt");
        //在当前模块创建java.txt文件
        System.out.println(f1.createNewFile());
        //删除当前模块目录下java.txt文件
        System.out.println(f1.delete());
        //在当前模块目录下创建zz目录
        File f2=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\zz");
        System.out.println(f2.mkdir());
        //删除当前模块目录下的目录
        System.out.println(f2.delete());
        //在当前模块下创建一个目录zz,然后在该目录下创建一个文件Java.txt
        File f3=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\zz");
        System.out.println(f3.mkdir());
        File f4=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\zz\\java.txt");
        System.out.println(f4.createNewFile());
        //删除当前模块下的目录zz
        System.out.println(f4.delete());
        System.out.println(f3.delete());

    }
}

1.5递归

递归概述:

        以编程的角度来看,递归指的是方法定义中调用方法本身的现象

递归解决问题的思路:
        把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解

        递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算

递归解决问题要找到两个内容:
        递归出口:否则会出现内存溢出
        递归规则:与原问题相似的规模较小的问题

package zyy04;

public class Demo {
    public static void main(String[] args) {
        int[] arr=new int[20];
        arr[0]=1;
        arr[1]=1;
        System.out.println(f(10));
    }
    //递归
    public static int f(int n){
        if(n==1||n==2){
            return 1;
        }
        return f(n-1)+f(n-2);
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值