day18:File(构造方法、创建、删除文件或者文件夹、 判断性、重命名与剪切、得到性、过滤性)、递归(遍历文件夹文件)

article/2025/10/16 8:08:21

一 回顾

1.HashMap集合

         特点:  

                A.数据结构也是Hash表结构  

                B.多线程中是不安全  

                C.默认的数组的初始化容量是16

2.HashMap与HashSet的比较  

        相同点:都是hash表结构来存储  

        不同点:

                A.HashSet的底层就是使用HashMap来实现    

                B.HashSet的数据结构针对与是元素   HashMap的数据结构针对于键3.LinkedHashMap    

        A.Map 接口的哈希表和链接列表实现,    

        B.具有可预知的迭代顺序    

        C.此实现不是同步的 多线程中不安全的

4.泛型:  

        泛型使用场景:在定义集合的时候 不确定其数据类型的时候 就可以使用泛型                                泛型就是一个特殊的变量 变量用于接收器数据类型

5.使用泛型      

        List<数据类型> 对象名 = new ArrayList<数据类型>();      

        注意点;        

                A.前后的泛型必须是一致的        

                B.在jdk1.7之后出现了菱形的泛型 后面的泛型可以省略        

                C.泛型只能是引用数据类型 不能是基本数据类型

6.定义泛型类:      

                语法:          

                        访问修饰符 class 类名<泛型> {              

                                所有的成员都可以使用其数据类型          

                        }

7.定义泛型的方法:        

        语法:          

                访问修饰师 <泛型>返回值类型 方法的名称(参数列表) {

                           方法体                  

                            return 返回值          

                }        

                注意点:          

                A.普通的成员方法是可以使用类的泛型          

                B.静态方法是不可以使用类的泛型

8.定义泛型的接口          

        A.实现类确定其泛型          

        B.实现类不确定其泛型

9.泛型的通配符 ?   一般作为方法的参数      

        <? extends E> ==> E本身或者是其子类      

        <? super E> ==>E本身或者是其父类

10.map集合嵌套遍历11. 斗地主案例

六、file

6.1简介

1.文件和目录路径名的抽象表示形式==>可以把文件或者文件的路径构成一个File 可以使用其方法

2.路劲: 绝对路劲 与相对路径

3.绝对路劲:从根盘符开始的路径就是绝对路劲 例子:D:\day02\src\Test01.java

4.相对路径:相对于具体参照物的路径 在idea中基本都是使用的相对路径

相对路径

6.2 File的构造方法

构造方法的名称构造方法的描述
public File(File parent, Stringchild)根据 parent 抽象路径名和 child 路径名字符串创建一个新File 实例
public File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新File 实例
public File(String parent, Stringchild)根据 parent 路径名字符串和 child 路径名字符串创建一个新File 实例

代码

public class Test01 {public static void main(String[] args) throws IOException {File f = new File(new File("c:\\admin"), "1.txt");File f1 = new File("c:\\admin","2.txt");File f2 = new File("c:\\admin\\ad\\3.txt");}
}

6.3 创建的方法

方法的名称方法的描述
public boolean createNewFile()创建文件
public boolean mkdir()创建文件夹(只能创建一级目录)
public boolean mkdirs()创建文件夹(创建多级目录)

//一般要有目录才能创建文件
//文件和目录不能同时创建
 //1.可以先创建目录,再创建文件

代码

 public static void main(String[] args) throws IOException {//一般要有目录才能创建文件//文件和目录不能同时创建//1.可以先创建目录,再创建文件//File file = new File("d:\\admin\\a");//这是创建一级目录,如果填写的有多级目录,则默认创建失败File file = new File("d:\\admin");file.mkdir();//已经有admin的可以File file1 = new File("d:\\admin\\a\\b");file1.mkdirs();}

6.4 删除文件或者文件夹

方法的名称方法 的描述
public boolean delete()删除文件以及空的文件夹(不能是多级目录)

注意点:使用delete的文件或者是空文件夹 是不会进回收站 

    //删除文件File file1 = new File("d:\\admin\\a\\b\\1.txt");//删除1.txtfile1.delete();//删除空的文件夹File file2= new File("d:\\admin\\a\\b");//删除b文件夹file2.delete();File file3= new File("d:\\admin");//删除多级空文件夹,里面有文件则执行失败file3.delete();

6.5 案例

step01 需求

 step02 分析

1.创建多级目录的文件夹 mkdirs()

2.创建文件 createNewFile()

//一般要有目录才能创建文件//文件和目录不能同时创建//1.可以先创建目录,再创建文件//File file = new File("d:\\admin\\a");//这是创建一级目录,如果填写的有多级目录,则默认创建失败File file = new File("d:\\admin");file.mkdir();//已经有admin的可以File file1 = new File("d:\\admin\\a\\b");file1.mkdirs();

 6.6 判断性

方法的名称方法的描述
public boolean exists()测试此抽象路径名表示的文件或目录是否存在
public boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录
public boolean isFile()判断是否是文件

6.7 重命名与剪切

方法的名称方法的描述
public boolean renameTo(Filedest)重命名(在同一个目录下重命名)或者是剪切(在不同的目录执行的是剪切原来的目录不会再有)
//先要file的文件存在
File file1 = new File("d:\\a\\b\\c\\d.txt");
File file2 = new File("d:\\a\\b\\c\\d.pdf");
file1.renameTo(file2);

6.8 得到性的方法

    File f1 = new File("d:\\a\\b\\c\\d.txt");String absolutePath = f1.getAbsolutePath();System.out.println(absolutePath);System.out.println(f1.getPath());System.out.println(f1.getName());System.out.println(f1.getParent());System.out.println(f1.length());
d:\a\b\c\d.txt
d:\a\b\c\d.txt
d.txt
d:\a\b\c
0
File f1 = new File("d:\\a\\b\\c");
System.out.println(f1.getName());

c

 6.9 过滤性

 代码-01

 public static void main(String[] args) {//File f1 = new File("d:\\a\\b\\c");File file = new File("D:\\admin");String[] list = file.list();for (String s : list) {System.out.println(s);}}
a

 代码-03

 6.9.1 案例

step01 需求

step03 代码

 7.递归

7.1 简介

1.递 传递 归 归还 归一 在开发中递归就是方法自己调用自己 朝着不递归的方法去发展   将大小的范围逐渐变为小的范围

2.递归: 方法自己调用自己

3.注意点:   A.递归是朝着不递归的方向发展   方法参数会逐渐变小   B.递归容易产生栈内存溢出

7.2 数学中的递归

从大到小递归

public static void main(String[] args) {}public static int showNum(int num){if (num<1){return -1;}else if (num==1){return 1;}else {return num*showNum(num-1);}}

从小到大递归

public static void main(String[] args) {System.out.println(showNum(10));}public static int showNum(int num){if (num==1){return 1;}else if (num==2){return 1;}else {return showNum(num-1)+showNum(num-2);}}

7.3 递归的内存图

 

 7.4 案例

step01 需求:删除一个文件夹下面的所有的文件 包括自身 采用递归的方式

step02 分析

A.递归中方法的参数 文件对象File

B.istFile() 获取当前目录下所有文件以及目录

C.使用循环遍历数组 判断是目录 继续递归 不是目录 删除 delete()

 7.5 案例

step01

在控制台下打印c盘中所有的图片 使用递归的方式step02 分析

1.使用递归进行操作

2.是目录的时候需要递归

3.过滤出所有的图片 判断其后缀名

step03 代码


http://chatgpt.dhexx.cn/article/nTvgCYX9.shtml

相关文章

Python 文件和文件夹 01

Python文件和文件夹 01 ① 修改当前目录&#xff0c;首次利用 pandas 读取 excel 表 os.chdir import os import pandas as pd os.chdir(C:/aa/bb/cc) os.chdir(rC:\aa\bb\cc)数据 pd.read_excel("temp.xlsx") 等同于当前路径下的 temp.xlsx 文件。print(数据)② 字…

删除win10无限嵌套文件夹

解决由于失误操作导致WIN10系统产生无限循环的文件夹问题 昨天本想自己写一个拷贝文件的小程序&#xff0c;结果出现了点小问题&#xff0c;整出了一个无限循环的文件夹&#xff0c;直接删除出出现错误代码提示&#xff0c;显示无法删除&#xff0c;然后我就去网上找解决方案&…

计算机专硕一般研二在干嘛,专硕一般研二在干嘛,专硕两年怎么安排

一般学习两年。 硕士学位的学制取决于您申请的学校和专业。 不同的学校可能不同&#xff0c;同一所学校的硕士学位也可能不同。 许多学校还设有两年半的学制&#xff0c;甚至三年制的学制。本文一起来看一下吧~ 一.什么人适合读专硕 1、英语相对一般的人 学硕主要考英语一试卷&…

研二导师画大饼,不给时间实习,咋办

一个小学弟最近咨询我 我是本硕都在一所双非一本就读&#xff0c;软件工程&#xff0c;目前研二&#xff0c;23 届。我想在暑期进行一下今年的实习&#xff0c;想着可能对后面秋招和来年春招有帮助&#xff0c;但是实验室管的严导师不放时间(其实我当时是为了毕业条件和平时研…

2022年终总结与2023新年展望

前言 时间过得太快了&#xff0c;虽然写博客已经很多年了&#xff0c;但是年终总结一直由于种种原因没有写过&#xff0c;2022年确实是魔幻的一年&#xff0c;不知不觉自己也已经研二了&#xff0c;因为疫情的原因突然放开&#xff0c;提前放假回家&#xff0c;借此机会写一下…

研二(上学期)计划安排

今天是9.17号了&#xff0c;时间过得很快&#xff0c;学习的脚步永远停不下来。 时间的安排就不说了&#xff0c;真的是计划赶不上变化&#xff0c;一句话&#xff0c;除了外聘上课和研助&#xff0c;其他的时间必须到达实验室&#xff0c;&#xff08;一个星期一次总结&#…

计算机科学与探索、计算机工程与应用投稿经验分享

目录 等级&#xff1a; 经验&#xff1a; 总结&#xff1a; 等级&#xff1a; 计算机科学与探索 CCFb 计算机工程与应用 CCFB(2022年由c升为b) 经验&#xff1a; 首先本人主要关注计算机人工智能图像处理领域&#xff0c;北京某高校研二学生&#xff0c;水平不高。在研一…

计算机专业学生如何写一份优秀的校招简历(大三、研二学生请进)

计算机专业学生如何写一份优秀的校招简历(大三、研二学生请进) 最近讲了一节简历的公开课&#xff0c;还是蛮有价值的&#xff0c;想分享给大家 主要是讲解计算机相关专业的学生&#xff0c;就业找工作的简历&#xff0c;该如何书写。 内容包含&#xff1a; 1、快速掌握一份校…

快速傅里叶变换(研二的我终于弄懂了)

研二的我仍然对快速傅里叶变换一知半解&#xff0c;于是乎&#xff0c;本着待在家里&#xff0c;能耗时间就多耗点&#xff0c;不知道何年马月我才可以在外面快乐的奔跑~~ 快速傅里叶变换的实现&#xff08;c版本&#xff09; 在做项目的时候&#xff0c;需要用到matlab里的ff…

华电软工非全研究生学习工作总结-研二开学总结

昨晚加班太晚,就打算调休一天,养好精神,晚上开车回老家,开启假期模式。午休过后没啥事,随后就想着水一篇文章吧。 1、研究生学习 1.1、学生证来啦 今天对学生们来说,最大的喜事就是,期待了一学期的研究生学生证从北京邮寄了。看到微信群同学们开心的晒着学生证,我也期…

爆肝三天,我整理了这份春招攻略【针对大三/研二】

大家好&#xff0c;我是菜饼。长文预警&#xff0c;建议收藏。 18级的师弟妹们&#xff0c;这份春招攻略&#xff0c;希望可以让你们清醒一下。 &#xff08;当然&#xff0c;本篇不仅仅适用于大三同学&#xff0c;也适用于研一研二&#xff0c;打算走互联网开发方向的同学。&…

再见北理工:忆北京研究生的编程时光

两年前&#xff0c;我本科毕业写了这样一篇文章&#xff1a;《 回忆自己的大学四年得与失 》&#xff0c;感慨了自己在北理软院四年的所得所失&#xff1b;两年后&#xff0c;我离开了帝都&#xff0c;回到了贵州家乡&#xff0c;准备开启一段新的教师生涯&#xff0c;在此也写…

研究生学姐二次考研的感悟:关于择校选专业专硕or学硕

今天想跟大家分享一下我第一次考研&#xff0c;第二次考研&#xff0c;以及现在读研的一些经历。如果你能从中获得启发&#xff0c;我很荣幸&#xff0c;如果你觉得我说得不对&#xff0c;那就是你对。以下我输出的观点仅代表我个人&#xff0c;每个人的成长环境和想法都不一样…

优秀!研二实习生“阿里+字节+拼多多+美团”四杀offer

本人就读于某无导师制培训班&#xff0c;研二在百度腾讯实习过&#xff0c;目前想转java技术栈或wlb一下&#xff0c;就投递了一些外企和美团阿里&#xff0c;至于字节与拼多多&#xff0c;个人实在无法接受周末上班&#xff0c;就没有投递了。 年前准备了一下简历&#xff0c…

研一一整年都在搞深度学习,研二醒悟打算转开发

作者&#xff1a;阿秀阿秀的学习笔记&#xff1a;https://interviewguide.cn 你好&#xff0c;我是阿秀。 最近阿秀组建了自己的学习圈子&#xff0c;其实圈子里以前只有我一个人的&#xff0c;每天适当充电、看看书或者看一些教学视频&#xff0c;也会简单打卡记录自己的学习进…

【阶段总结】研二上学期总结

写在前面 距离上一篇【阶段总结】研一上学期总结又过去了将近一年的时间&#xff0c;而这一篇的阶段性总结也是在我入驻csdn平台后的第四篇的年度总结。从一开始的犹犹豫豫到现在坚持不定期的写作和总结&#xff0c;回想这几年的历程&#xff0c;还好有个csdn这个平台可以记录…

NLP领域论文笔记【研一下研二上】01

一、《Heterogeneous Graph Neural Networks for Extractive Document Summarization》 1、除句子外&#xff0c;还包含不同粒度级别的语义节点&#xff0c;这些另外的节点可以作为句子间的媒介&#xff0c;以加强句子间的关系。文件摘要是提取原始文档中的句子&#xff0c;把…

网页加载慢的测试方法

测试网页代码加载速度 背景测试方法 背景 最近用Hbuilder写了一个简单的网页&#xff0c;但是用到了很多的图片&#xff0c;本地加载很快&#xff0c;但是别人访问的时候加载很慢。 测试方法 百度的话 都是一些不着调的。打开你的网页&#xff0c;然后F12&#xff0c;选择ne…

Selenium自动化测试网页加载太慢怎么办

遇到网页加载慢&#xff0c;selenium运行效率降低&#xff0c;可以通过修改页面加载策略提升自动化效率。 selenium加载很慢 通过URL导航到新页面时&#xff0c;默认情况下&#xff0c;Selenium将等待文档完全被加载才会执行下面的操作&#xff0c;此时网页的加载状态为 comp…

php 加载慢,PHP开发中,网页加载速度很慢怎么办

有没有发现一种情况&#xff0c;总有一个用户需要等待某个平台的页面加载。最后他们会因为等得太久&#xff0c;被消耗了耐心&#xff0c;而直接关闭了加载该页面的窗口。 一般来说&#xff0c;页面在512KB的连接速率下&#xff0c;超过5秒打不开网页&#xff0c;用户就会很烦躁…