java基础复习--File类&递归,2024年最新中移互联网面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

引言

一、File类概述

1、概念

2、构造方法

3、常用方法

(1)、方法列举

(2)、代码演示(部分常用方法)

(3)、注意事项

二、File类导图建模

三、递归

1、什么是递归

2、递归的基本原理

3、递归三大要素

四、图形&代码理解递归

1、图形建模

2、代码演示

五、总结


引言

==

很多东西如果不是怕别人捡去,我们一定会扔掉。

——王尔德

Because of You (Kelly Clarkson)")

(分享个歌单)

一、File类概述

=========

1、概念


1、文件和目录名路径的抽象表示形式 ,File封装的并不是一个真正存在的文件,仅仅是一个路径名,它可以存在,也可以不存在。后面需要通过对应的方法将其变成真正存在的。

2、File类主要是JAVA为文件这块的操作(如删除、新增等)而设计的相关类

3、File类的包名是java.io,其实现了Serializable, Comparable两大接口以便于其对象可序列化和比较。

2、构造方法


通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。

File(File parent, String child);

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

File(String pathname)

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

File(String parent, String child)

通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。

File(URI uri)

代码演示

/*

  • File的构造函数

  • */

public static void main(String[] args) {

//File(String pathname) 将指定路径名转换成一个File对象

File file = new File(“D:\1.txt”);

System.out.println(file);

//File(String parent,String child) 根据指定的父路径和文件路径创建File对象

File file1 = new File(“D:\a”,“1.txt”);

System.out.println(file1);

//File(File parent,String child) 根据指定的父路径对象和文件路径创建File对象

File parent = new File(“D:\a”);

File file2 = new File(parent, “1.txt”);

System.out.println(file2);

File file3 = new File(new File(“D:\a”),“1.txt”);

System.out.println(file3);

}

3、常用方法


(1)、方法列举

| 序号 | 方法描述 |

| — | — |

| 1 | public String getName()

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

| 2 | public String getParent()****、

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

| 3 | public File getParentFile()

返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null。 |

| 4 | public String getPath()

将此抽象路径名转换为一个路径名字符串。 |

| 5 | public boolean isAbsolute()

测试此抽象路径名是否为绝对路径名。 |

| 6 | public String getAbsolutePath()

返回抽象路径名的绝对路径名字符串。 |

| 7 | public boolean canRead()

测试应用程序是否可以读取此抽象路径名表示的文件。 |

| 8 | public boolean canWrite()

测试应用程序是否可以修改此抽象路径名表示的文件。 |

| 9 | public boolean exists()

测试此抽象路径名表示的文件或目录是否存在。 |

| 10 | public boolean isDirectory()

测试此抽象路径名表示的文件是否是一个目录。 |

| 11 | public boolean isFile()

测试此抽象路径名表示的文件是否是一个标准文件。 |

| 12 | public long lastModified()

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

| 13 | public long length()

返回由此抽象路径名表示的文件的长度。 |

| 14 | public boolean createNewFile() throws IOException

当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。 |

| 15 | public boolean delete()

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

| 16 | public void deleteOnExit()

在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。 |

| 17 | public String[] list()

返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。 |

| 18 | public String[] list(FilenameFilter filter)

返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的。 |

| 19 | public File[] listFiles()

返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。 |

| 20 | public File[] listFiles(FileFilter filter)

返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器。 |

| 21 | public boolean mkdir()

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

| 22 | public boolean mkdirs()

创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。 |

| 23 | public boolean renameTo(File dest)

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

| 24 | public boolean setLastModified(long time)

设置由此抽象路径名所指定的文件或目录的最后一次修改时间。 |

| 25 | public boolean setReadOnly()

标记此抽象路径名指定的文件或目录,以便只可对其进行读操作。 |

| 26 | public static File createTempFile(String prefix, String suffix, File directory) throws IOException

在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。 |

| 27 | public static File createTempFile(String prefix, String suffix) throws IOException

在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 |

| 28 | public int compareTo(File pathname)

按字母顺序比较两个抽象路径名。 |

| 29 | public int compareTo(Object o)

按字母顺序比较抽象路径名与给定对象。 |

| 30 | public boolean equals(Object obj)

测试此抽象路径名与给定对象是否相等。 |

| 31 | public String toString()

返回此抽象路径名的路径名字符串。 |

(2)、代码演示(部分常用方法)

创建文件目录:

| 方法名 | 说明 |

| — | — |

| public boolean createNewFile() | 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件 |

| public boolean mkdir() | 创建由此抽象路径名命名的目录 |

| public boolean mkdirs() | 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录 |

示例代码:

public class FileDemo02 {

public static void main(String[] args) throws IOException {

//需求1:我要在E:\itcast目录下创建一个文件java.txt

File f1 = new File(“E:\itcast\java.txt”);

System.out.println(f1.createNewFile());

System.out.println(“--------”);

//需求2:我要在E:\itcast目录下创建一个目录JavaSE

File f2 = new File(“E:\itcast\JavaSE”);

System.out.println(f2.mkdir());

System.out.println(“--------”);

//需求3:我要在E:\itcast目录下创建一个多级目录JavaWEB\HTML

File f3 = new File(“E:\itcast\JavaWEB\HTML”);

// System.out.println(f3.mkdir());

System.out.println(f3.mkdirs());

System.out.println(“--------”);

//需求4:我要在E:\itcast目录下创建一个文件javase.txt

File f4 = new File(“E:\itcast\javase.txt”);

// System.out.println(f4.mkdir());

System.out.println(f4.createNewFile());

}

}

判断功能:

| 方法名 | 说明 |

| — | — |

| public boolean isDirectory() | 测试此抽象路径名表示的File是否为目录 |

| public boolean isFile() | 测试此抽象路径名表示的File是否为文件 |

| public boolean exists() | 测试此抽象路径名表示的File是否存在 |

获取功能:

| 方法名 | 说明 |

| — | — |

| public String getAbsolutePath() | 返回此抽象路径名的绝对路径名字符串 |

| public String getPath() | 将此抽象路径名转换为路径名字符串 |

| public String getName() | 返回由此抽象路径名表示的文件或目录的名称 |

| public String[] list() | 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组 |

| public File[] listFiles() | 返回此抽象路径名表示的目录中的文件和目录的File对象数组 |

示例代码:

public class FileDemo04 {

public static void main(String[] args) {

//创建一个File对象

File f = new File(“myFile\java.txt”);

// public boolean isDirectory():测试此抽象路径名表示的File是否为目录

// public boolean isFile():测试此抽象路径名表示的File是否为文件

// public boolean exists():测试此抽象路径名表示的File是否存在

System.out.println(f.isDirectory());

System.out.println(f.isFile());

System.out.println(f.exists());

// public String getAbsolutePath():返回此抽象路径名的绝对路径名字符串

// public String getPath():将此抽象路径名转换为路径名字符串

// public String getName():返回由此抽象路径名表示的文件或目录的名称

System.out.println(f.getAbsolutePath());

System.out.println(f.getPath());

System.out.println(f.getName());

System.out.println(“--------”);

// public String[] list():返回此抽象路径名表示的目录中的文件和目录的名称字符串数组

// public File[] listFiles():返回此抽象路径名表示的目录中的文件和目录的File对象数组

File f2 = new File(“E:\itcast”);

String[] strArray = f2.list();

for(String str : strArray) {

System.out.println(str);

}

System.out.println(“--------”);

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

更多笔记分享

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
strArray) {

System.out.println(str);

}

System.out.println(“--------”);

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

[外链图片转存中…(img-HSCnDbXC-1713619499814)]

[外链图片转存中…(img-Qq5FQO7r-1713619499815)]

[外链图片转存中…(img-4hKrRLGt-1713619499815)]

更多笔记分享

[外链图片转存中…(img-M2XxSP1L-1713619499816)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-GWo6FgAk-1713619499816)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值