对文件的一系列操作

 

    Java中对文件的读写操作可以通过输入输出流来实现,但对于文件目录、属性以及管理等信息Java提供了一个专门的类来实现File

 

    1File类的成员变量  FileStatic.java

       static String pathSeparator   系统相关的路径分隔字符串,包含一个字符。

       static char pathSeparatorChar  系统相关的路径分隔符,用于分隔多个路径。

       static String separator    系统相关的文件分隔字符串。

       static char separatorChar   系统相关的文件分隔符。

 

    2、构造方法  FileConstructor.java

    创建一个File对象,只是在内存中生成一个File类的实例,并不会在某个物理路径下创建一个文件或目录。

       File (String pathname)  根据路径名创建一个File对象。

       File (File parent, String child)  在给定File对象下创建一个File对象。

       File (String parent, String child)  根据指定路径下创建一个File对象。

       File (URL url)  根据一个URL对象创建一个File对象。

 

    3、常用方法

       boolean canRead()  判断File对象对应的路径是否可读。

       boolean canWrite()  判断File对象对应的路径是否可写。

       int compareTo(File pathname)  比较两个File对象,不是比较其对应的文件。

       boolean equals(Object obj)  判断两个File对象是否相等。

       boolean exists()  判断File对象对应的路径是否存在。

       String getAbsolutePath()  获取File对象对应路径的绝对路径。

       String getParent()  获取File对象对应路径的目录。

       String getPath()  获取File对象对应的路径。

       boolean isAbsolute()  判断File对象对应的路径是否为绝对路径。

       boolean mkdir()  获得File对象对应的目录。

       boolean mkdirs()  获得File对象对应路径下的所有目录。

       String toString()  返回File对象对应路径的字符串。

 

    4、查询/更改文件属性  FileProperty.java

       String getName()  获取File对象对应路径的文件名。

       boolean isDirectory()  判断File对象对应的路径是否为目录。

       boolean isFile()  判断File对象对应的路径是否为文件。

       boolean isHidden()  判断File对象对应的文件是否为隐藏属性。

       long length()  获得File对象对应文件的长度。

       long lastModified()  获得File对象对应文件的最近修改时间。

       boolean renameTo(File dest)  更改File对象对应文件的文件名。

       boolean setReadOnly()  设置File对象对应文件为只读。

 

    5、创建文件  CreateFile.java

    1)通过创建一个文件输出流来创建一个新文件。这种方式不能创建目录,并且如果要创建的文件已存在会新建一个文件覆盖原文件。

     FileOutrputStream file = new FileOutputStream(filename);

    2)通过File类提供的方法来创建文件,必须先创建一个File对象,然后调用其方法(createNewFile())来创建文件。

 

    6、获得文件列表

通过File类的list()listFiles()方法获得某个文件夹的文件列表。有以下几种形式:

   String[] list();  先判断File对象是否是一个目录

   File[] listFiles();    FileList.java

       File[] listFiles(FilenameFilter filter);   FileList1.java

       File[] listFiles(FileFilter filter);  FileList2.java

其中FileFilterFilenameFilter都是接口,filter为相应的过滤器。声明某个类,实现过滤器接口,便可以通过过滤条件来列出所有符合的文件。

FilenameFilter定义了一个方法:提供给list()使用,FilenameFilter使文件作为一个目录和一个文件名被过滤。

    boolean accept(File directory, String filename);

FileFilter定义了一个方法:FileFilter使文件作为一个File对象被过滤。

    boolean accept(File path)

一个简单的文件过滤是已知文件扩展名,你可以使用FilenameFilter 接口,但它却难以知道这个文件名到底是一个文件还是一个目录。为了去解决这个问题,你需要去做一个文件对象,与其自己去做,不如使用FileFilter接口。

 

    7、删除文件

通过File类的delete()方法即可。如果File对象所对应的路径名是一个目录,只有当目录是一个空目录时才能被删除。

boolean delete()  DeleteFile.java

 

    8、临时文件

    Java2File类中提供了对临时文件的支持,程序可以根据需要在操作系统提供的临时文件创建自己的临时文件,也可以在特定的目录下创建,如果需要,还能在Java虚拟机退出时自动删除这个文件(调用File类的deleteOnExit()方法)。

    创建一个临时文件,可以用File类的createTempFile()方法来创建,该方法是一个静态方法,有两种参数形式:  CreateTempFile.java

    File createTempFile(String prefix, String suffix);

    File createTempFile(String prefix, String suffix, File directory);

    其中prefix为文件名的前缀,suffix为文件名的后缀,directory为创建的临时文件所在的目录,如果未指明,则为系统默认的临时文件目录(如:c:\winnt\temp)。为了避免文件命名重复,Java为临时文件自动命名,在前缀与后缀之间加上一个数字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值