java file类包_Java中File类的常用API

Java.io包下的File类实现了Serializable和Comparable两个接口

864306c75bd24e0397d00bc93902a1f0.png

1.创建文件

注意:

1).如果D盘下file文件夹不存在,则抛出异常;如果D盘下file文件夹存在,则创建成功,返回true

2).如果D盘下file文件夹下已存在file.txt文件,则返回false

public static void main(String[] args) throwsIOException {

File file= new File("D:\\file\\file.txt");

System.out.println("文件是否创建成功:"+file.createNewFile());

}

}

2.判断文件是否存在

存在返回true;不存在返回false

System.out.println("文件是否存在:"+file.exists());

3.判断是否是文件

是返回true;不是返回false

System.out.println("是否是文件:"+file.isFile());

4.文件重命名

成功返回true;不成功返回false;

注意:如果修改后的路径和修改前的路径不一致,会把修改前的文件剪切掉,然后再新路径下创建新的文件

File file2 = new File("D:\\file\\file2.txt");

System.out.println("文件重命名是否成功:"+file.renameTo(file2));

5.创建单级目录

创建成功返回true;创建失败返回false

注意:

1)如果目录已存在,返回false

2)mkdir()无法创建多级目录

File f = new File("D:\\dir");

System.out.println("创建单级目录是否成功:"+f.mkdir());

6.创建多级目录

创建成功返回true;创建失败返回false

注意:如果目录已存在,返回false

File f = new File("D:\\dir\\dir1\\dir2");

System.out.println("创建多级目录是否成功:"+f.mkdirs());

7.判断是否是文件夹

是返回true;不是返回false

System.out.println("是否是文件夹:"+f.isDirectory());

8.获取文件/文件夹的名称

注意:如果是获取文件夹,那么获取到的是最后一级的目录名

System.out.println("文件的名称:"+file.getName());

System.out.println("文件夹的名称:"+f.getName());

9.获取文件/文件夹的路径

9.1getPath()

注意:

1)返回的是定义时的路径,这个路径可能是相对路径,也可能是绝对路径,这个取决于你定义路径时的设置

2)返回值类型是String

System.out.println("文件路径字符串:"+file.getPath());

System.out.println("目录路径字符串"+f.getPath());

9.2getAbsolutePath()

注意:

1)返回的是绝对路径,即从根路径开始

2)返回值类型是String

System.out.println("文件路径字符串:"+file.getAbsolutePath());

System.out.println("目录路径字符串"+f.getAbsolutePath());

9.3getAbsoluteFile()

注意:

1)返回的是绝对路径,即从根路径开始

2)返回值类型是File

System.out.println("文件绝对路径:"+file.getAbsoluteFile());

System.out.println("目录绝对路径"+f.getAbsoluteFile());

10.删除文件/文件夹

删除成功返回true,删除失败返回false

注意:当删除文件夹时,delete()方法删除的是最后一级目录

System.out.println("文件是否删除成功:"+file.delete());

System.out.println("文件夹是否删除成功:"+f.delete());

11.获取文件/文件夹所在的目录名称

返回值类型为String

注意:返回的路径与定义File类时的路径一致

System.out.println("文件所在文件夹名称:"+file.getParent());//文件所在文件夹名称:D:\file

System.out.println("上级目录名称:"+f.getParent());//上级目录名称:D:\dir\dir1

12.获取文件大小

返回值类型是long

注意:返回的文件大小表示字节(一个英文占1字节,一个汉字占3字节)

System.out.println("文件大小:"+file.length());//文件大小:7

13.获取最后修改时间

返回值类型是long

long date =file.lastModified();

SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

System.out.println(simpleDateFormat.format(new Date(date)));//2020-05-13 13:35:45

14.获取目录下文件/文件夹

14.1 list()方法

返回值类型是字符串集合

注意:返回的是目录下的文件或文件夹,如果文件夹下还有文件,不会返回

String[] list =f.list();for(String s : list) {

System.out.println(s);

}

14.2 listFiles()方法

返回值类型是File类型集合

注意:返回的是目录下的文件或文件夹,如果文件夹下还有文件,不会返回

File[] files =f.listFiles();for(File fl : files) {

System.out.println("目录下文件/文件夹名称:"+fl.getName());

}

综合示例(递归,查看目录下所有的文件夹和文件)

public static void main(String[] args) throwsIOException {

String rootPath= "D:\\dir";

recursion(rootPath);

}public static voidrecursion(String rootPath ) {

File f1= newFile(rootPath);if (f1 != null) {if(f1.isDirectory()) {

File[] files=f1.listFiles();if (files.length > 0) {for(File file : files) {if(file.isDirectory()) {

System.out.println(rootPath+"下"+"文件夹名称:" +file.getName());

recursion(file.getAbsolutePath());

}else{

System.out.println(rootPath+"下"+"文件名称:"+file.getName());

}

}

}else{

System.out.println(rootPath+"目录下没有内容");

}

}else{

System.out.println(rootPath+ "不是目录");

}

}else{

System.out.println("系统没有找到路径");

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值