File

计算机当中一切数据都是字节,文件就是硬盘当中用来存放字节数据的单位。
Windows当中表示路径:      D:\abc\Hello.txt
Linux/macOS当中表示路径:  /Users/someone/abc/Hello.txt

java.io.File对象可以表示文件或者文件夹。

表示文件:D:\abc\Hello.txt

表示文件夹:D:\abc

注意:绝对不能根据有没有后缀名来判断是文件还是文件夹。必须使用特殊的方法进行判断。

 

1.File类的构造方法

8.file类,递归

2.注意:

(1) 如果在字符串当中希望表示一个反斜杠,必须双写:\\
(2)每一个File对象只是代表了一种对照关系,并不是真正的创建文件或文件夹,

只是一个映射。

 

3.File类当中与获取相关的方法

8.file类,递归

4.File绝对路径与相对路径

绝对路径:从Windows判断开始,一直到具体的文件/文件夹的名称,一个完整的路径。

例如:D:\IdeaProjects\advance-69\day08-code\story.txt



相对路径:相对于当前项目而言(而不是模块),一个简短的路径。

例如:day08-code\story.txt

 

绝对路径可以使用“../”代表向上走一级。

8.file类,递归

5.File类中中与判断相关的方法

备注:

1. 既然new对象的时候,无论是否存在,都可以new。那么就需要通过exists()方法才能判断是否真的存在。

2. 绝对不能使用扩展名来判断是不是文件/文件夹,应该使用isFile()或者isDirectory()方法。

 

8.file类,递归

6.File类当中与创建相关的方法

8.file类,递归

8.file类,递归

7.File类当中的删除方法就一个

(1) 使用这种代码删除的东西,不会进入回收站(或者废纸篓),而是直接删除。所以必须谨慎操作。

(2) 如果删除的是一个文件夹,必须保证文件夹为空,才能删除;否则删除失败。

8.file类,递归

8.File类当中列出相关的方法

8.file类,递归

列出方法的时候,有一个重载形式也比较常用:

public File[] listFiles(FileFilter filter):参数代表文件的过滤规则。

java.io.FileFilter是一个接口,其中的方法:

boolean accept(File file):参数是每一个被检查的文件,返回值为true代表取用,为false代表舍弃。

8.file类,递归

9.列出书籍单级文件夹

8.file类,递归

多级的文件夹,用递归会更加方便。

8.file类,递归

递归

1.概念

方法的递归,不是新技术,只是一种特殊的调用方式:【方法自己调用自己】。

国外一个知名的IT网站:stacKoverflow

2.阶加

8.file类,递归

3.阶乘

8.file类,递归

4.内存图(包含一个为什么会出现内存不够用的现象?)

8.file类,递归

 

FillFilter

使用递归,列出指定文件夹深度遍历之后,所有的.java文件。

 

8.file类,递归

Lambda对filter的优化。

凡是只有一个接口的抽象方法,就能用lamda.

8.file类,递归

补充:

异常的抑制-addSuppressed

8.file类,递归

泛型的通配符的上下限:里氏替换

六个设计原则:

a.单一职责原则

b.迪米特法则

c.接口隔离原则

d.依赖倒置原则

e.开闭原则

f.里氏替换原则:前置条件放大,后置条件缩小。

 

相关文章:

  • 2021-08-24
  • 2021-04-18
  • 2022-12-23
  • 2021-04-27
  • 2022-01-16
  • 2022-12-23
  • 2023-03-18
猜你喜欢
  • 2021-10-17
  • 2022-01-03
  • 2021-07-05
  • 2021-04-21
  • 2021-06-24
  • 2021-07-05
相关资源
相似解决方案