java之File

1 File类

    File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成。不管是文件还是目录都是使用File来操作的,File能新建,删除,重命名文件和目录,File 不能访问文件的内容本身。如果需要访问内容本身,则需要使用输入输出流。

    1.1 访问文件和目录

            file类可以使用文件路径字符串来创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径。在默认的情况下,系统会依据用户的工作路径来解释相对路径,这个路径由系统属性“user.dir”指定,通常就是java虚拟机运行时所在的路径。

            一旦创建了File对象后,就可以调用File对象的方法来访问,File类提供了很多方法来操作文件和目录,方法如下:

                1. 访问文件名相关的方法
                       String  getName() : 返回此File对象所表示的文件名或者路径名(如果是路径,则返回最后一级子路径名)。
                       String  getPath() : 返回此File对象的绝对路径名。
                        File  getAbsoluteFile() : 返回此File对象所对应的绝对路径名。
                        String  getParent()  : 返回此File对象所对应的目录(最后一级子目录)的父目录名。
                        boolean   renameTo(File newName)  重命名此File对象所对应的文件或目录,如果重命名成功则返回true;  否则返回false.

                2. 文件检测相关的方法
                       boolean  exists() : 判断File对象所对应的文件或者目录是否存在。
                       boolean  canWrite()  : 判断File对象所对应的文件和目录是否可写。
                       boolean  canRead()  : 判断File对象所对应的文件和目录是否可读。
                       boolean  isFile()   :   判断File对象所对应的是否是文件,而不是目录。
                       boolean  isDirectory() : 判断File对象所对应的是否是目录而不是文件。
                       boolean  isAbsolute()  : 判断File对象所对应的文件或目录是否是绝对路径。该方法消除了不同平台的差异,可以直接判断File对象是否为绝对路径。

                3. 获取常规文件信息
                       long lastModified()  :  返回文件最后修改的时间。
                       long length()    :   返回文件内容的长度。

                4.  文件相关操作方法
                       boolean   createNewFile()  :  当此File对象所对应的文件不存在时,该方法将新建一个该File对象所指定的新文件,如果返回true,则表示创建成功,否则表示创建失败。
                       boolean   delete()  :   删除File对象所对应的的文件或者路径。
                       boolean   deleteOnExit() : 注册一个删除的钩子,指定当java虚拟机退出时,删除File对象所对应的文件和目录。

                5.  目录操作相关的方法
                       boolean mkdir()   :  试图创建一个File对象所对应的的目录,如果创建成功,则返回true; 否则返回false.调用该方法的时候必须是一个路径而不是一个文件。
                       String[]   list()   : 列出对象多有子文件名和路径名,返回String数组。
                       File[]  listFiles()  : 列出File对象所有的子文件和路径,返回File数组。
                       static File[] listRoots()  : 列出系统所有的根路径。这是一个静态方法,可以直接通过File类来调用。

                6.  File方法示例
                       File代码实例如下图所示:


file方法代码示意图

                    

     1.2 File文件过滤器

                在File类的list()方法中可以接收一个FilenameFilter参数,通过该参数可以只列出符合条件的文件,FilenameFilter接口里包含了一个accept(File dir, String name)方法,该方法           将依次指定File的所有子目录或者文件进行迭代,如果该方法返回true,则list()方法会列出该子目录或者文件。文件过滤器代码如下:


FileFilter代码示例图


                       



             

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • File类介绍 File类概述   File类是java.io包下代表与平台无关的文件和目录。File可以新建、删...
    Hughman阅读 206评论 0 1
  • File类   File类是java.io包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都...
    琦琦出去玩了阅读 357评论 0 0
  • 一、访问文件名的方法 String getName():返回此File对象的文件名或路径名(如果是路径,则返回最后...
    Ada54阅读 141评论 0 0
  • File类将文件和文件夹以及路径封装成对象,以提供更多的方法和属性来操作这些对象。File类不属于流对象,不能读写...
    比轩阅读 1,118评论 0 2
  • File类 File类的直接父类是Object类。 一个File类的对象,表示了磁盘上的文件或目录。 1、利用构造...
    吃吃吃鱼呀阅读 363评论 0 0