DAY19 File

DAY20 File

路径名的表示

类unix:绝对路径名前缀始终是“/”,相对路径没有前缀
	    绝对路径:/user/local/bin
        相对路径:dir/a.doc
windows:绝对路径盘符 “:\”,相对路径,没有盘符
		 绝对路径:E:\dir\develop\b.txt
		 相对路径:develop\b.txt
java语言中:java.io包中的类总是根据当前用户目录来解析相对路径名,此目录由
		   系统属性user.dir指定
String str = System.getProperty("user dir")//获取相对路径指定路径

File 类
简单来说一个file对象对应一个目录或文件,和一个抽象路径名等价(该路径可能不存在)
构造方法

File(String pathname)
File(String parent,String child)
File(File parent,String child)
File file1 = new File("E:\\dir\\a.txt");//第一种
File file2 = new File("E:","dir\\a.txt");//第二种
File fileParent = new File("E:","dir")
File file3 = new File(fileParent,"a.txt")//第三种

创建功能
物理创建文件:
public boolean creatNewFile(),返回值表示是否创建成功
物理创建目录:
public boolean mkdir()只能已存在的目录下创建新的目录
public boolean mkdirs()可在目标目录不存在时创建目录及目标

删除功能
public boolean delete():删除此抽象路径名表示的文件或目录(目录必须为空)

重命名功能
public boolean ranameto(FIle dest):
注:当源文件和修改之后的目标文件不在同一目录时:移动文件

File srcFile = new File("E:\\dir\\a.txt");
File destFile = new File("E:\\dir\\aaa.txt")boolean b = secFile.renameTo(destFile);

判断功能:
public boolean isFile()是否是文件
public boolean isDirectory()是否是目录
public boolean exists()是否存在
public boolean canRead()是否可读
public boolean canWeite()是否可写
public boolean isHidden()是否隐藏

基本获取功能
public File getAbsoluteFile()获取File抽象文件的绝对路径
public String getPath()获取File对象的抽象文件的相对路径路径字符串符
public String getName()获取名字
public long length()获取文件大小,以字节为单位,目录则不确定
public long lastModified()文件最后一次被修改的时间

高级获取功能
public String[] list() 返回目录中的目录和文件的名字,若此抽象名字不表示文件,则返回null
public File[]listFiles()返回一个抽象路径名数组,表示目录中的文件或目录对应的File对象 ;若不表示目录,则返回null(File数组中的每一个File对象表示的是,目标目录下的,一个文件或目录)
自定义获取功能

File[] listFiles(FileFilter filter)当前File对象表示的目录下返回满足特定条件的目录或文件。
String[] list(FilenameFilter filter)
File[] listFiles(FilenameFilter filter)

public interface FileFilter{
	//测试指定抽象路径名是否应该包含在某个路径名列表中
	//用来判断文件或目录是否满足条件,返回true则满足
	boolean accept(File pathname)
}
 File file = new File("e:\\dir");
 //一个FileFilter对象表示一个判断条件,具体这个判断条件是由accept体现
 FileFilter fileFilter = new FileFilter() {
    @Override
    public boolean accept(File pathname) {
    return pathname.isFile()&&pathname.getName().endsWith("txt");//File对象表示txt文件
    }
 };
 //满足特定条件的File
 File[] files = file.listFiles(fileFilter);
 System.out.println(Arrays.toString(files));
ArrayList<File> files = new ArrayList<>();//可自动扩容数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值