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

猜你喜欢

转载自blog.csdn.net/zx6571269/article/details/80419616