File类

使用File类描述文件或者文件夹

File类构造方法
1.File(File parent,String child)根据parent抽象路径和child路径名字符串创建一个新的File实例
2.File(String pathname)通过给定路径名字符串转换为抽象路劲名来创建一个新的File实例
3.File(String parent,String child)

路径问题:
1.绝对路径:该文件在硬盘上的完整路径,绝对路径一般都是以盘符开头的
2.相对路径:资源文件相对于当前程序所在的路径
注意:如果程序当前所在路径与资源文件不是在同一个盘下,是没法写相对路径的

File类常用的方法:
创建:
1.createNewFile():在指定位置创建一个空文件,成功就返回true,如果已存在就不创建返回false

File file=new File("F:\\b.txt");
file.createNewFile();

2.mkdir():在指定位置创建目录,这只会创建最后一级目录,如果创建目录不存在就抛异常

File dir=new File("F:\\aaa");
dir.mkdir();//创建单级目录

3.mkdirs():在指定位置创建目录,这会创建路径中所有不存在的目录

dir=new File("F:\\aaa\\bbb");
dir.mkdirs();//创建多级目录

4.renameTo(File dest):重命名文件或文件夹,也可以操作非空的文件夹,文件不同时相当于文件的剪切,剪切时就不能操作非空的文件夹,移动/重命名成功就返回true

File destFile=new File("F:\\abc.txt");
file.renameTo(destFile);//重命名文件
//如果目标文件与源文件在同一个路径下,renameTo作用是重命名,如果目标文件与源文件不在同一个路径下,renameTo作用是剪切,只能操作文件,不能操作文件夹

删除:
1.delete():删除文件或一个空文件夹,如果文件夹不为空,则不能删除,成功返回true,失败返回false
2.deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录,保证程序异常时创建的临时文件也可以被删除
区别:delete()会马上删除文件,deleteOnExit()在jvm退出时删除文件

判断:
1.exists():文件或文件夹是否存在

File file=new File("F:\\a.txt");
file.exists();

2.isFile():是否是一个文件,如果不存在则始终未false

file.isFile();

3.isDirectory():是否是一个目录,如果不存在,则始终未false

file.isDirectory();

4.isHidden():是否是一个隐藏的文件或目录

file.isHidden();

5.isAbsolute():测试此抽象路径名是否为绝对路径名

file.isAbsolute();

获取:
1.getName():获取文件或文件夹的名称,不包含上级路径

File file=new File("F:\\a.txt");
file.getName();

2.getPath():返回绝对路径,可以是相对路径,但是目录要指定

file.getPath();

3.getAbsolutePath():获取文件的绝对路径,与文件是否存在没关系

file.getAbsolutePath();

4.length():获取文件的大小(字节数)如果文件不存在则返回OL,如果是文件夹也返回OL

file.length();

5.getParent():返回此抽象路径名父目录的路径名字符串,如果此路径名没有指定父目录,则返回null

file.getPatent();

6.lastModified():获取最后一次被修改的时间(毫秒值)

file.lastModified();
//使用毫秒值转换成Date对象
long lastModified=file.lastModified();
Date date=new Date(lastModified);
SimpleDateFormat dataFormat=new SimpleDateFormate("yyyy年MM月dd日  HH:mm:ss");
system.out.println("最后一次修改的时间:"+dataFormat.format(date));

文件夹相关:
1.Static File[ ] listRoots():列出所有的根目录(windows中就是所有系统的盘符)

File[ ] roots=File.listRoots();//列出所有根目录
for(File file:roots){
  system.out.println(file);
}

2.list():返回目录下的文件或者目录名,包含隐藏文件,对于文件这样操作会返回null

File file=new File("F:\\aaa");
//列出当前文件夹下所有子文件名与子文件夹名存储到一个String类型数组返回
String[ ] fileNames=file.list();
for(String fileName:fileNames){
  system.out.println(fileName);
}

3.list(FilenameFilter filter):返回指定当前目录中符合过滤条件的子文件或子目录,对于文件这样操作会赶回null
4.listFiles():返回目录下的文件或目录对象(File实例),包含隐藏文件,对于文件这样操作会返回null
5.listFiles(FilenameFilter filter):返回指定当前目录中符合过滤条件的子文件或子目录,对于文件这样操作会返回null

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值