栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

File类介绍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

File类介绍

这里写目录标题
  • File类概述和其构造方法
  • File类创建功能
  • File类判断和获取功能
  • File删除功能
  • 递归解决问题思想
  • 使用递归遍历目录

File类概述和其构造方法

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

package com.lxg.io.file;

import java.io.File;


public class File1 {
    public static void main(String[] args) {
        //File(String pathbname) 通过将给定的路径名字符串来转换为抽象路径名来创建新的File实例
        File file1 = new File("E:\IO\text1.txt");
        System.out.println(file1);

        //File(String parent,String child):从父路径名字符串和子路径名字符串来创建新的File类
        File file2 = new File("E:\IO","test2.txt");
        System.out.println(file2);

        //File(File parent,String child):从父路径名和子路径名创建新的File实例
        File file3 = new File("E:\IO");
        File file4 = new File(file3,"test3.txt");
        System.out.println(file4);


    }
}

File类创建功能
package com.lxg.io.file;

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


public class File2 {
    public static void main(String[] args) throws IOException {
        //File f = new File("E:\IO");

        //当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件,如果文件不存在则创建,
        // 返回true,如果文件存在,则返回false
        //f.createNewFile();


        //创建由此抽象路径命名的目录
        //f.mkdir();

        //创建由此抽象路径命名的目录,包括任何必须但不存在的目录,创建多级目录
        //f.mkdirs();

        //获取绝对路径
        //f.getAbsolutePath();

        //-------------------------------------------------
        //创建文件
        File f1 = new File("E:\IO\java.txt");
        boolean newFile = f1.createNewFile();
        System.out.println(newFile);

        //创建目录
        File f2 = new File("E:\IO\JavaSE");
        boolean mkdir = f2.mkdir();
        System.out.println(mkdir);

        //创建多级目录
        File f3 = new File("E:\IO\JavaWeb\HTML");
        boolean mkdirs = f3.mkdirs();
        System.out.println(mkdirs);

    }
}

File类判断和获取功能
package com.lxg.io.file;

import java.io.File;


public class File3 {
    public static void main(String[] args) {
        File f = new File("E:\IO");

        //判断是否为目录
        boolean directory = f.isDirectory();
        //判断是否为文件
        boolean file = f.isFile();
        //判断是否存在
        boolean exists = f.exists();
        //获取绝对路径
        String absolutePath = f.getAbsolutePath();
        //将抽象路径名转换为路径名字字符串
        String path = f.getPath();
        //返回此抽象路名名表示的文件或目录名称
        String name = f.getName();
        //返回此路径名表示的目录中的文件和目录的名称字符串数组
        String[] list = f.list();
        //返回子路径名表示的目录中的文件和目录的file对象数组
        File[] files = f.listFiles();

    }
}

File删除功能
package com.lxg.io.file;

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


public class File4 {
    public static void main(String[] args) throws IOException {
        //File f = new File("E:\IO");
        //删除由此抽象路径表示的文件或目录
        //boolean delete = f.delete();

        //创建&删除文件
        File f = new File("Java\java.txt");
        boolean newFile = f.createNewFile();
        boolean delete = f.delete();

        //创建目录&删除目录
        File f2 = new File("Java\a");
        boolean mkdir = f2.mkdir();
        boolean delete1 = f2.delete();

    }
}

递归解决问题思想
package com.lxg.io.file;


public class File5 {
    public static void main(String[] args) {

        System.out.println(f(20));

        System.out.println(jiecheng(5));
    }


    
    public static int jiecheng(int n){
        if(n==1){
            return 1;
        }else{
            return n*jiecheng(n-1);
        }
    }

    
    public static int f(int n){
        if(n==1 || n==2){
            return 1;
        }else{
            return f(n-1)+f(n-2);
        }
    }
}

使用递归遍历目录
package com.lxg.io.file;

import java.io.File;


public class File6 {
    public static void main(String[] args) {
        File f= new File("E:\IO");
        getAllFilePath(f);
    }

    
    public static void getAllFilePath(File srcFile){
        //获取给定目录下的所有文件后者目录的数组
        File[] files = srcFile.listFiles();
        //遍历该数组,得到每一个file对象
        if(files!=null){
            for (File f:files) {
                //判断是否是目录
                if(f.isDirectory()){
                    //是,递归掉用方法
                    getAllFilePath(f);
                }else {
                    //不是,输出文件路径
                    System.out.println(f.getAbsoluteFile());
                }
            }
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号