java基础------File类

File类定义

对文件进行操作
获取文件信息和对文件的整体操作

File常用方法

createNewFile() 	创建文件
exists() 	判断文件是否存在
mkdir() 创建文件夹
mkdirs()  创建层级文件夹
isFile() 判断指定文件是否普通文件
isDirectory()判断指定文件是否层级目录
delete()删除指定路径下的文件普通的文件(非层级目录)
length()在指定路径下获取文件内容的大小(返回类型longrenameTo()修改文件名
listFiles()获取指定路径的下一层路径
getAbsolutePath()获取绝对路径

实例

package File;

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

public class File_createNewFile {
    public static void main(String[] args) throws IOException {
        File file=new File("D://b");//写路径
        boolean flag=file.createNewFile();
        if (flag==true) {
            System.out.println("创建成功");
        } else {
            System.out.println("创建失败");
        }

    }
}

递归删除

Delete(重点)

package File;

import java.io.File;


public class 递归删除优化2 {
    public static void main(String[] args) {
    File file=new File("D://a");
    //因为是静态方法所有可以直接调用
    diguidelete(file);

}
    public static void diguidelete(File file){
        //获取指定路径的下一层路径
        File[] fs =file.listFiles();
        //判断是否是空目录 ,空文件夹
        if (file.isDirectory()) {
            //判断数组中是否为空 避免空指针异常
            if (fs != null) {
                //加入for循环避免文件删不掉
                for (File f : fs) {
                    //在指定路径下获取文件内容的大小
                    System.out.println(fs.length);
                    System.out.println(f);
                    //递归算法 自己调用自己,根据传入的路径自动寻找下一层路径
                    diguidelete(f);
                }
            }
        }
        //删除前以此  获取绝对路径
        System.out.println(file.getAbsolutePath());
        //从后往前以此删除
        file.delete();
        //最后D盘中D:\a\b\c\d\e.txt删除
    }


}

递归显示

package File;
import java.io.File;
public class 递归显示 {
    public static void main(String[] args) {
        File file=new File("D://a");
        //因为是静态方法所有可以直接调用
        diguishow(file);

    }
    public static void diguishow(File file){
        //获取指定路径的下一层路径
        File[] fs =file.listFiles();
        //判断是否是空目录 ,空文件夹
        if (file.isDirectory()) {
            //判断数组中是否为空 避免空指针异常
            if (fs != null) {
                //加入for循环显示文件
                for (File f : fs) {
                    //在指定路径下获取文件内容的大小
                    System.out.println(fs.length);
                    System.out.println(f);
                    //递归算法 自己调用自己,根据传入的路径自动寻找下一层路径
                    diguishow(f);
                    System.out.println(f);
                }
            }
        } else {
            System.out.println(file);
        }

    }

}
发布了62 篇原创文章 · 获赞 32 · 访问量 2718

猜你喜欢

转载自blog.csdn.net/weixin_45627031/article/details/105450715