java string file io_javaIO--File类

IO:File类

位于java.io包下,用于表示与平台无关的文件和目录

File类可以用来操作文件和目录,但是不能用来访问文件的内容。

8c3bf5379331016b4511080d016e75f3.png

1212e9d770875b45700449032e8eea24.png

5e7f08369c34fb7ccc2deeb46df4295c.png

1.构造方法

File(String pathName)

通过将给定路径名字符串转换为抽象路径名来创建一个新File实例

File(String parent, String child)

根据 parent 路径名字符串和 child 路径名字符串创建一个新File实例

File(File parent, String child)

根据 parent 抽象路径名和 child 路径名字符串创建一个新File实例

61c64fdada3237e0e9193753a0420f42.png

fe47d10e080f37b7e122bef12ab877e4.png

b651415d08c74dc01361354330772be0.png

构造对象时的注意事项:

对象的上层路径如果不存在的话,在创建对象时将会报错

即:对象要想创建成功,其父File对象(肯定是一个目录)必须存在

339351976f1480aeb188ce35ecf3a85d.png

4a8683f9b3a599a5b74acd7cd1fc8dfb.png

2.成员方法

46cbc45d5e2d78b0b0ba64b4a12a8ce1.png

6a5d6d06b709b6263b8dcb00255660fe.png

f255c53f1bbb29436b7a179a193b53b0.png

2.1创建功能

boolean createNewFile()

创建此抽象路径名指定的文件

boolean mkdir()

创建此抽象路径名指定的目录

boolean mkdirs()

创建此抽象路径名指定的目录,包含必须的父File对象若不存在也一并创建

d29a7fb40f638fba4e0e669af767736a.png

2.2删除功能

boolean delete()

删除此抽象路径名表示的文件或目录

注意事项:

Java中的删除内容不会进入回收站,直接删除

删除的文件夹中不能包含内容

15ced003703b725f5e84532954c38dc2.png

2.3重命名功能:

boolean renameTo(File dest)

重新命名到此抽象路径名表示的文件

1e587dfff8ecf1f6c15d82df83db89cb.png

bf840c28ec5d24bd83e18cfa4c811ed6.png

2.4判断功能:

boolean exits()

boolean isDirectory()

boolean isFile()

boolean isHidden()

boolean canRead()

boolean canWrite()

8e8291bb4f497aad5fc79ef5fd40a89b.png

2.5获取功能:

String getAbsolutePath()

返回此抽象路径名的绝对路径名字符串(总是全的)

String getName()

返回由此抽象路径名表示的文件或目录的名称

String getPath()

将此抽象路径名转换为一个路径名字符串(不一定全,看一开始)

String getParent()

返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null

long length()

返回由此抽象路径名表示的文件的长度:字节数

long lastModified()

返回此抽象路径名表示的文件最后一次被修改的时间

String[] list()

返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录

File[] listFiles()

返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的File对象

5d624f0e2738ff2636fef4389eea131d.png

72a16be16ced22e960d86e5578ccbfd1.png

3.练习

练习1

获取某个盘符下的指定类型的文件信息

例:获取c盘下的所有jpg图片信息:大小,文件名

第一种思路:1.封装文件对象2.获得它所有子File对象数组3.遍历这个数组并判断

第二种思路:

在获得数组之前,就进行判断,这样得到的数组就都是满足条件的了.

涉及到的接口:FilenameFilter

065240d7e58970440d0cab488defdb73.png

da0128d93a3e6085b9cf18155773f90a.png

练习2

批量更改某个文件夹下的文件名1.去掉某些标志2.添加某些标志

思路:1.封装目录成File对象2.得到此对象下的所有File对象数组3.遍历数组,并改名

0b8431538c0d319c94c5563800ee2a86.png

练习3:

9936fe24a65ccdc53d1ae3dd17281986.png

练习5

递归:recursive(1.要有出口 2.次数不能太多 3.构造方法不能递归)

样例:

1.递归求5的阶乘

2.不死神兔问题

3.递归查找某个目录下所有的txt文件

4.递归删除带内容的文件夹

3b3c4293d5a7417d257fa7b84f846ffc.png

37f068059bba847a39d4d420134dfb49.png

c052a549bdd2bd7c079e9161f7091c5c.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值