【Java】---IO:文件和目录操作

【Java】—IO:文件和目录操作



提示:以下是本篇文章正文内容,下面案例可供参考

一、File类

1.1 概念

代表物理盘符中的一个文件或者文件夹。
需要导入库:

import java.io.File;

需要处理异常:IOException

文件异常

File类是具体类,可以直接创建对象:

File file = new File("d:\\文件测试");

其中File()内是文件的绝对路径。
盘符上,大小写都可以,例如Dd
Windows使用\分割目录
Linux使用/分割目录
Mac使用/分割目录

1.2 公共方法

File类中有许多对于文件和目录都是相同操作的方法,在这里整理一下。

1.2.1 getName()

作用:获取文件名
返回值类型:String

代码演示:

File file = new File("D://文件测试//1.txt");
System.out.println(file.getName());

运行结果:

1.txt

1.2.2 getPath()

作用:返回文件的路径。
返回值类型:String

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.getPath());

运行结果:

D:\文件测试\1.txt

1.2.3 getAbsolutePath()

作用:返回文件的绝对路径
返回值类型:String

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.getAbsolutePath());

运行结果:

D:\文件测试\1.txt

1.2.4 isHidden()

作用:判断文件是否是隐藏的,如果是,返回true,否则返回false。文件不存在也会返回false
返回值类型:boolean

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.isHidden());

运行结果:

false

磁盘中:
文件属性

1.3 文件操作

1.3.1 createNewFile()

作用:创建指定文件,创建成功返回true,如果文件已存在则返回false。
返回值类型:boolean

代码演示

File file = new File("d:\\文件测试\\1.txt");
System.out.println(file.createNewFile());//创建文件,如果不存在,返回true
System.out.println(file.createNewFile());//文件已创建过,再次创建会返回false

运行结果:

true
false

磁盘中:
创建文件

1.3.2 delete()

作用:删除指定文件。删除成功则返回true,如果文件不存在则返回false。
返回值类型:boolean

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.delete());//如果文件存在,删除文件并返回true,否则返回false
System.out.println(file.delete());//因为文件已经删除,所以返回false

运行结果:

true
false

磁盘中:
删除文件

1.3.3 length()

作用:返回文件的长度
返回值类型:long

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.length());

运行结果:

16

磁盘中:
文件
ABC:3(1 + 1 + 1)
张三:6(3 + 3)
!@#$%:5(1 + 1 + 1 + 1 + 1)
两个空格:2(1 + 1)
共计:16(字符)

ANSI编码格式下,一个汉字占2个字节
UTF-8编码格式下,一个汉字占3个字节

1.3.4 lastModified()

作用:返回文件的最后一次修改时间。
返回值类型:Date

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.lastModified());
Date date = new Date(file.lastModified());
System.out.println(date);

运行结果:

Tue Jan 16 19:14:21 CST 2024

2024年1月16日 19:14:21

磁盘中:
文件

1.3.5 exists()

作用:判断文件是否存在,如果存在,返回true,否则返回false。
返回值类型:boolean

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.exists());//之前创建过,所以文件存在,返回true
file.delete();
System.out.println(file.exists());//文件被删除,不存在,返回false

运行结果:

true
false

1.3.6 isFile()

作用:判断是否是文件,如果是,返回true,否则返回false。文件不存在也会返回false。
返回值类型:boolean

代码演示:

File dir = new File("D:\\文件测试");//目录
File file = new File("D:\\文件测试\\1.txt");//文件
System.out.println(dir.isFile());//dir指向的是目录:文件测试,不是文件,所以false
System.out.println(file.isFile());//file指向的是文件:1.txt,是文件,但是文件不存在,所以返回false
file.createNewFile();
System.out.println(file.isFile());//此时文件存在,所以返回true

运行结果:

false
false
true

1.3.7 canWrite()

作用:判断文件是否可写,如果是,返回true,否则返回false
返回值类型:boolean

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.canWrite());

运行结果:

true

磁盘中:
文件属性

1.3.8 renameTo(File file2)

作用:将文件移动至目标文件file2所在路径,可以改名,成功则返回true,失败返回false。
返回值类型:boolean

代码演示:

File file = new File("D:\\文件测试\\1.txt");
System.out.println(file.renameTo(new File("D:\\文件测试\\2.txt")));//功能1:为文件改名

运行结果:

true


1.4 目录操作

1.4.1 mkdit()

作用:创建空目录,可创建单目录和多级目录。
返回值类型:boolean

代码演示:

File dir1 = new File("D:\\文件测试\\文件测试2");
System.out.println(dir1.mkdir());//创建单目录
System.out.println(dir1.mkdir());//目录已存在,再次创建会返回false

运行结果:

true
false

磁盘中:
创建目录

1.4.2 mkdirs()

作用:创建多级空目录,如果文件不存在则返回true,否则返回false。
返回值类型:boolean

代码演示:

File dir = new File("D:\\文件测试\\文件测试3\\文件测试4");
System.out.println(dir.mkdirs());//创建多级目录
System.out.println(dir.mkdirs());//多级目录已创建,返回false

运行结果:

true
false
磁盘中:
创建多级目录

1.4.3 delete()

作用:删除空目录,返回true,如果目标目录不是空的,或者目录不存在,返回false。
返回值类型:boolean

代码演示:

File dir1 = new File("D:\\文件测试\\文件测试3");
File dir2 = new File("D:\\文件测试\\文件测试2");
File file = new File("D:\\文件测试\\文件测试3\\1.txt");
file.createNewFile();//在文件测试3中创建文件
System.out.println(dir1.delete());//由于文件测试3不是空目录,所以删除失败,返回false
System.out.println(dir1.delete());//目录已经被删除,返回false
System.out.println(dir2.delete());//目录:dir2是空目录,可以删除,返回true

运行结果:

false
false
true

1.4.4 isDirectory()

作用:在磁盘中,判断指定路径是否是目录,如果是,返回true,否则返回false
返回值类型:boolean

代码演示:

File file = new File("D:\\文件测试\\1.txt");
File dir = new File("D:\\文件测试");
System.out.println(file.isDirectory());//判断是否是目录,如果不是,返回false
System.out.println(dir.isDirectory());//是目录,返回true

运行结果:

false
true

磁盘中:
目录判断

总结

讲解了Java中对文件和目录的操作。

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值