• Java 文件(File)类


    file类 的作用

        1.用于将文件或者文件夹封装成对象

        2.方便对文件与文件夹进行操作

        3.方便输入输出流的文件传输

    一、创建文件对象,将已有的和未出现的文件或者文件夹封装成对象。

    文件

    这四种方法都将C盘下的1.Java文件封装成对象。

    二、file对象的判断

    可以new file 可以创建已有的文件对象,也可以创建未存在的文件对象,那怎么去判断到底存不存在呢?

    判断

    package com.neuedu.demo01;
    import java.io.File;
    /*
     * 文件类的使用
     */
    public class fileDemo {
        public static void main(String[] args) {
            File f1=new File("E:\learnJava\hello.txt");
            System.out.println(f1.exists());//判断文件或目录是否存在
            System.out.println(f1.isDirectory());//判断文件对象表示的是否是一个目录
            System.out.println(f1.isFile());//判断文件对象表示的是否是一个文件
            System.out.println(f1.isAbsolute());//判断文件对象是否是一个绝对路径
            System.out.println(f1.isHidden());//判断文件对象是否是隐藏文件
        }
    }

    三、文件的创建和删除

    file类提供了一些方法,能够在计算机上常见和删除文件或者目录

    创建

    package com.neuedu.demo01;
    
    import java.io.File;
    import java.io.IOException;
    
    /*
     * 文件类的使用
     * 
     */
    public class fileDemo {
        public static void main(String[] args) {
            File f1=new File("E:\learnJava\hello.txt");//一个文件
            File f2=new File("E:\learnJava\hello");//一个目录
            
            if (f1.exists()) {//文件文件已经存在
                f1.delete();  //则将已经存在的文件删除
            }else {
                try {
                    f1.createNewFile();  //如果不存在,则创建出来
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if (!f2.exists()) {//如果目录不存在
                f2.mkdir();     //创建目录  f2.mkdirs();   创建多级目录  
            }else {
                f2.delete();
            }
        }
    }

    四、File相关get方法

    get

    package com.neuedu.demo01;
    
    import java.io.File;
    import java.io.IOException;
    
    /*
     * 文件类的使用
     * 
     */
    public class fileDemo {
        public static void main(String[] args) {
            File f1=new File("E:\learnJava\hello.txt");//一个文件
            File f2=new File("E:\learnJava\hello");//一个目录
            System.out.println(f1.getAbsolutePath());//获取文件对象的绝对路径,返回的是File对象----E:learnJavahello.txt
            System.out.println(f1.getAbsoluteFile());//获取文件对象的绝对路径,返回的是string-----E:learnJavahello.txt
            System.out.println(f1.getName());//获取文件对象的文件名或者是目录名----hello.txt
            System.out.println(f1.getParent());//获取文件对象的父目录,返回的是string----E:learnJava
            System.out.println(f1.getParentFile());//获取文件对象的父目录文件对象,返回的是File对象----E:learnJava
            try {
                System.out.println(f1.getCanonicalPath());  //获取文件对象的规范路径名----E:learnJavahello.txt
                System.out.println(f1.getAbsoluteFile());   //获取文件对象的规范路径形式,返回file对象----E:learnJavahello.txt
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           System.out.println(f1.getPath()); ///获取文件路径E:learnJavahello.txt
            
            }
    }

    五、递归文件目录

    文件递归

    通过list()返回文件目录中的文件和目录,返回的是字符串

    通过listFile()返回文件目录中的文件和目录,返回的是文件对象

    package com.neuedu.FileUtils;
    
    import java.io.File;
    import java.io.IOException;
    
    /**
     * 
     * @author wzc
     * 列出File的一些常用操作
     */
    public class FileUtils {
         
        /**
         * 列出指定目录下及子目录下的所有文件
         * @param dir
         * @throws IOException
         */
        public static void listDirectory(File dir)throws IOException{
            //判断目录是否存在
            if (!dir.exists()) {
                throw new IllegalArgumentException("目录"+dir+"不存在");
            }
            //判断File dir是否是目录
            if (!dir.isDirectory()) {
                throw new IllegalArgumentException(dir+"不是目录");
            }
            /*String[] list = dir.list();  //列出文件中的文件或者目录,不包括子目录下的
            for (String string : list) {
                System.out.println(string);
            }*/
            //如果需要遍历子目录下的内容就需要构造成对象,继续递归s
            File[] files = dir.listFiles();//返回直接子目录对象
            /*for (File file2 : files) {
                System.out.println(file);
            }*/
            if (files!=null && files.length>0) {
                for (File file : files) {
                    if (file.isDirectory()) {//如果子文件是目录
                        //递归
                        listDirectory(file);
                    }else{
                        System.out.println(file);//如果是文件则输出
                    }        
                }
            }
        }
    }
  • 相关阅读:
    IdHTTP + RegExpr
    Delphi多线程编程之五不同类线程读写全局变量阻塞和锁定
    服务器开发
    Delphi多线程编程之四 线程安全和VCL
    接口测试方式
    LR11开始录制时打不开浏览器
    接口测试基础
    ospf应用简单
    OSPF协议原理及配置4邻接关系的建立和LSDB同步
    windows7安装远程服务器AD域管理工具
  • 原文地址:https://www.cnblogs.com/Actexpler-S/p/7581466.html
Copyright © 2020-2023  润新知