Java之File类

来源:互联网 发布:飞翔快递打印软件 编辑:程序博客网 时间:2024/06/05 19:39

一、初见File类

java.io.File类代表系统中的文件(文件或目录)

常用构造方法

File(String pathname)
File(String parent, String child) 【参数都是字符串】
File(File parent, String child) 【parent必须为file对象】

常用属性-分隔符

File.separator 存储了当前系统的路径分隔符

注意
区别于Files类,该类是新IO流,用法不一样

二、基本操作方法

2.1访问File对象的属性
>

【可读否】boolean canRead()
【可写否】boolean canWrite()
【文件(不能判断文件夹)存在否】boolean exists()
【是否是文件夹】boolean isDirectory()
【是否是文件】boolean isFile()
【文件是否隐藏】boolean isHidden()
【最后一次修改时间】long lastModified()
【文件长度】long length() //以字节为单位【不能是文件夹】
【获取文件或文件夹名,仅最后一段】String getName()
【获取相对路径】String getPath()//(上级目录+最后一段的文件/文件夹名)
【获取绝对路径】String getAbsolutePath() //返回此File对象的绝对路径名
【获取绝对路径的文件】File getAbsoluteFile()//返回用绝对路径表示的File对象
【获取父目录路径】String getParent()//获取不包含(最后一段)文件/文件夹名的父路径
【获取父目录路径】File getParentFile()

2.2对文件的操作

public boolean createNewFile() //不存在时创建此文件对象所代表的空文件
【创建文件夹,只能为一层】boolean mkdir()
【创建文件夹,一层或多层】boolean mkdirs()
【删除】boolean delete()//删除文件(或文件夹)。如果是目录必须是空才能删除

【重命名文件】boolean renameTo(File dest)

【重命名文件】可以用于移动文件(同盘符或跨盘符)或文件夹(包含其中的内容,只能同盘符); 不能用它跨盘符移动文件夹

renameTo方法用于移动(重命名)文件夹时,参数是目标文件夹的File对象,不是目标父文件夹

如果有其file对象或者是流使用着这个文件 则不能修改成功

注意:只有把所有引用这个文件的流全部关闭后才能实现删除和重命名

2.3浏览目录中的文件和子目录

【获取文件夹下的文件名和目录名,返回值为数组】String[] list()
【采用了过滤器,其他同上】String[] list(FilenameFilter filter)
【同上】 File[] listFiles() //返回此目录中的文件和目录的File实例数组
【同上】File[] listFiles(FilenameFilter filter) //返回此目录中满足指定过滤器的文件和目录的File实例数组

**list()与listFiles()区别**    1,返回值类型不同,前者为String数组,后者为File对象数组    2,返回值内容不同:前者返回的是文件名,后者返回的是完整的路径

2.4FilenameFilter接口

1实现此接口的类实例可用于过滤文件名,仅限目标文件夹的直接子文件或子文件夹2方法:boolean accept(File pathname) 3注意:区别于接口 FileFilter:用于抽象路径名的过滤器4实现FilenameFilter时,想保留的return true,想过滤掉的 return false过滤器写法

三、练习

java中File类应用:遍历文件夹下所有文件

地址:http://blog.csdn.net/baidu_37107022/article/details/70652719

0 0