File对象

File对象

创建file对象

/*
* 路径:
*   绝对路径:
*       从盘符位置开始
*       比如: c:d: e:
*   相对路径:
*       相对于工程
*
* */
public class Test {
    public static void main(String[] args) {
        //1.File(String path) *****
        File file1 = new File("E:\\io");
        System.out.println(file1);
        //2.File(Sting parent,String child)
        File file2=new File("E:", "\\io");
        System.out.println(file2);
        //File(File parent, String child)
        File parent = new File("E:");
        File file3 = new File(parent, "\\io");
        System.out.println(file3);
        //相对路径
        File file4 = new File("src\\hello.txt");
        System.out.println(file4);
        //绝对路径
        File file5 = new File("D:\\java\\WorkerSpace\\chapter01\\src\\JavaIO\\demo01\\hello.txt");
        System.out.println(file5);

File类常用方法

File file = new File("src\\JavaIO\\demo01\\hello.txt");
        //1.是否存在exists()
        System.out.println(file.exists());
        //2.获取文件名getName()
        System.out.println(file.getName());
        //3.获取文件大小 ---  字节个数
        System.out.println(file.length());
        //4.获取路径  getPath()
        System.out.println(file.getPath());
        //5.获取绝对路径
        System.out.println(file.getAbsoluteFile());
        //6.是否是文件
        System.out.println(file.isFile());
        //7.是否是文件夹
        System.out.println(file.isDirectory());
        //8.删除文件 ---  delete()
        System.out.println(file.delete());
        //9.创建文件 --  createNewFile()
        System.out.println(file.createNewFile());
        //10.创建临时文件,退出时自动删除。
        File file2 = File.createTempFile("itcast-", "txt");
        file2.deleteOnExit();
        System.out.println("是否为文件:"+file2.isFile());
        System.out.println("相对路径:"+file2.getAbsoluteFile());

遍历目录下的文件

public static void main(String[] args) {
        //1.获取指定文件夹下的所有文件
        File file = new File("D:\\python\\WorkSpace\\自学python\\pythonProject19");
        String[] names = file.list();
        for (String name : names) {
            System.out.println(name);
        }
        System.out.println("=================");
        //2.获取指定文件夹下指定扩展名的文件
        for (String name : names) {
            if(name.endsWith(".py"))
                System.out.println(name);
        }
        System.out.println("=================");
        //第二种方式
        FilenameFilter filter = new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File currentFile = new File(dir, name);
                if (currentFile.isFile()&&currentFile.getName().endsWith(".py")){
                    return true;
                }

                return false;
            }
        };
        String[] names2 = file.list(filter);
        for (String name : names2) {
            System.out.println(name);
        }
        System.out.println("================");
    //递归各个目录下的文件
        File file2 = new File("D:\\python\\WorkSpace\\自学python");
        fileDir(file2);
    }
    public static void fileDir(File dir){
        File[] files = dir.listFiles();
        for (File file : files) {
            if (file.isDirectory())
                fileDir(file);
            System.out.println(file.getAbsoluteFile());
        }
    }

删除文件及目录

/*
* 删除文件夹
* */
public class Test {
    public static void main(String[] args) {
//        File file =new File("E:\\hello.txt");
//        System.out.println(file.delete());

        File file2 = new File("E:\\io");
        deleteDir(file2);

    }
    //递归删除文件夹下还有文件夹的文件
    public static void deleteDir(File file){
        if(file.exists()){
            File[] files = file.listFiles();
            for (File file1 : files) {
                if(file1.isDirectory())
                    deleteDir(file1);
                else{
                    file1.delete();
                }
            }
            file.delete();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值