java笔记 File类

来源:互联网 发布:pc装mac os后性能 编辑:程序博客网 时间:2024/04/29 11:39

---------- android培训java培训、java学习型技术博客、期待与您交流! ------------

 File类:文件管理类

          类中常量:

                 static String separator  与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。

                                                        (即windows下表示文件的绝对路径中的反斜杠,用这个静态常量可以保跨平台,因为不同系统中的分隔符不一定相同)

          构造函数:将对象封装成File类的对象

                  File(String pathname)  通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

                                                       根据相对路径下的文件创建
                  File(String parent, String child)  根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

                                                       根据绝对路径下的文件创建

           常用方法:

                   1.创建

                             boolean createNewFile()  在指定位置创建空文件,如果该文件已存在则不创建,返回false。和输出流不一样,输出流创建对象的时候如果文件存在会被覆盖

                         创建临时文件,一般用于程序运行过程中临时记录数据,可以删除掉

                             static File createTempFile(String prefix, String suffix)  默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 
                             static File createTempFile(String prefix, String suffix, File directory) 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。

                         创建目录:

                             boolean mkdir()  创建此抽象路径名指定的目录。       只能创建一级目录
                             boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。     可创建多级目录

                   2.删除

                             void deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。(一般写在创建语句之下)

                             boolean delete()     删除此抽象路径名表示的文件或目录。若没有返回false

                   3.判断:判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在,通过exists()方法判断.

                             boolean canExecute() 测试应用程序是否可以执行此抽象路径名表示的文件。
                             boolean canRead()   测试应用程序是否可以读取此抽象路径名表示的文件。
                             boolean canWrite()  测试应用程序是否可以修改此抽象路径名表示的文件。            

                             boolean exists()    测试此抽象路径名表示的文件或目录是否存在。     

                             boolean isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。

                            boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。 (目录未创建时也可判断)

                  4.获取文件信息

                             String getPath()  将此抽象路径名转换为一个路径名字符串。
                             String getParent()  返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
                             File getAbsoluteFile()  返回此抽象路径名的绝对路径名形式。
                             String getAbsolutePath()  返回此抽象路径名的绝对路径名字符串。
                             long lastModified()   返回此抽象路径名表示的文件最后一次被修改的时间。
                             ong length()  返回由此抽象路径名表示的文件的长度。

                             

文件列表:

                            static File[] listRoots()  列出可用的文件系统根。

                            String[] list()  返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。

                                                 包含隐藏的目录,若调用此方法的对象为一个文件或不存在的目录时,返回null

                             String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。

                                                        FilenameFilter接口中规定的方法         boolean accept(File dir, String name)    测试指定文件是否应该包含在某一文件列表中。

                             File[] listFiles()  返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

                             File[] listFiles(FilenameFilter filter)   返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

                  递归:函数内部调用函数本身

                            1.限定条件。如果没有限定条件(或者限定条件永真)的话,递归就成死循环了

                            2.要注意递归次数,尽量避免内存溢出

删除一个带有内容的目录:

               删除原理:在window中,删除目录是从里面往外删除的,就需要用到递归

原创粉丝点击