File遍历遍历文件

File遍历文件


File类是什么

  File在java中以抽象的方式代表文件名和目录路,通过File 类操作,File能够新建、删除、重命名文件和目,但是File不能访问文件本身。如果需要访问文件内容本身,则需要使用输入/输出流

文件名称相关方法

方法解释
String getName()获取File对象表示的文件名称或路径(如果是路径(目录)返回最后一级的路径名)
String getPath()获取File抽象对象所对应的路径名称
String getParent()获取File抽象对象对应的父目录
String getAbsoluteFile()获取File抽象对象的绝对路径
String getAbsolutePath()获取File抽象对象的绝对路径名称
String getParent()获取File抽象对象的父目录(上一级目录)
boolean renameTo(File newName)将File设置一个新的名称,true成功

文件位置
image_1cd4o04g95vg9eg9fm17gqn0am.png-19.9kB

@Test
    public void Test01(){
        String fileName = "11.text";
        File file = new File(fileName);

        System.out.println("获取File抽象名称"+file.getName());
        System.out.println("获取File抽象的路径"+file.getPath());
        System.out.println("获取File抽象对象的绝对路径"+file.getAbsoluteFile());
        System.out.println("获取File抽象对象的绝对路径名称"+file.getAbsolutePath());
        System.out.println("获取File抽象对象的父路径"+file.getParent());

        System.out.println(file.renameTo(new File("22.text")));
        System.out.println(file.renameTo(new File("11.text")));

    }

//显示结果
image_1cd4nuk4difjfb11ug58rm1hbs9.png-53.6kB

文件检测方法

方法解释
boolean exists()判断File对象所对应的文件或目录是否存在
boolean canWrite()判断File对象对应的文件或目录是否可以写
boolean canRead()……是否可以读
boolean isFile()是否是文件
boolean isDirectory()是否是目录
isAbsolute()是否是绝地路径
long lastModified()返回文件的最后修改时间
long length()返回文件内容的长度

文件的操作方法

方法解释
boolean createNewFile()当file对象对应的文件不存在时,创建一个文件
boolean delete()删除File对象所对应的文件或路径(目录
static File crateTempFile(String prefix,String stuffx,File directory)directory在指定的目录中创建一个临时的空文件,使用给定前缀+系统随机生成的名称,后缀名称
void deleteOnEcit()注册一个删除钩子删除临时文件,只有当JVM正常退出才会删除临时文件

目录操作

|boolean mkdir()|创建一个File对象所对应的目录|
|String[] list()|列出File对象的所有子文件和路径名称(目录)|
|File[] listFile()|列出File对象的所有子文件和目录|
|static File[] listRoots()|列出系统所有的根路径|

创建临时文件

    public static void main(String[] args) throws IOException {
        File fileTemp = null;
        File file = new File("img");
        if(file.isFile()){
            System.out.println("该文件名称已经存在了");
            return;
        }
        if(file.isDirectory()){
             //创建临时文件
            fileTemp = File.createTempFile("temp", ".txt",file);        
        }
        if(file.mkdirs()){
             fileTemp = File.createTempFile("temp", ".txt",file);
        }
        //当JVM不是正常退出时,无法删除临时文件
        fileTemp.deleteOnExit();//删除临时文件

    }

遍历文件

public static void getAllFile(File file){
        //文件不存在
        if(!file.exists()){
            System.out.println("file is exists");
            return;
        }

        //当file是一个文件时
        if(!file.isDirectory()){
            if(file.isFile()){
                System.out.println(file.getName());
            }

            return;
        }

        //获取File目录下的子目录和文件
        File[] listFile = file.listFiles();

        for(File file2:listFile){
            if(file2.isDirectory()){
                getAllFile(file2);//递归
            }

            if(file2.isFile()){
                System.out.println(file2.getName());
                depath++;
            }

        }

    }

image_1ce5qom9uhhck46k7118q313o99.png-32.6kB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值