持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情
哈喽,各位小伙伴们好,我是喵手。
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流 学 习,互相学习,才能成长的更快,对吧。
我是一名java开发,所以日常接触到最多的就是java啦,所以我趁自己有空,就来好好回忆,把自己学到的会的,进行输出,不图什么有回报,只想能帮助到更多的小伙伴,就好。
小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对喵手我创作道路上最好的鼓励与支持!
一、概述
论前几期啊,我们是分别讲了Object类、Date类、FormDate类、Calendar类、System类及StringBuilder类,不知道大家掌握的如何,如果没有及时巩固的同学,可以看我这里,我给大家罗列了下,快速学习通道,只希望能帮助到大家更好的学习与成长,这就是我写作的初衷。
- java之Date类讲义
- java之DateFormat类讲义
- java之Calendar类讲义
- java之System类讲义
- java之StringBuilder类讲义
- java之Collection类
- java之包装类
- java之Iterator迭代器
- java之List集合
上一期,我们是完整的学完了java8的新特性,比如Lambda表达式、函数式接口、Stream流、新时间日期api等。不知道你们掌握的如何,对于不清楚或者有疑问的点,尽量能在评论区告诉我,我会不留余力的帮助大家,只为大家能把它学好,也不枉我下班回来后给大家肝文。
而这一期,我给大家讲点什么呢?前提是如果大家有想学的知识点,也可以直接告诉我,或者私信我,都可。而这一期,我接着给大家讲一讲java基础吧。
我们都知道,有个类File,文件类,其是对文件和目录路径名的抽象表示,不知道你们有咩有接触过它,用它进行文件或目录的创建、查找、删除等操作。如果你没有接触过,那正好,这一期,我就带你真正的学习一下它,具有很好的教学价值,希望大家能耐心把它看完。
废话不多说,咱这就开始干正事!
二、本期教学目标
- 掌握File对象的创建方式
- 掌握File类获取名称的方法名称
- 掌握File类如何获取绝对路径
- 掌握File类如何获取文件大小
- 掌握File类如何判断是否是文件
- 掌握File类如何判断是否是文件夹
- 能够辨别相对路径和绝对路径
- 掌握如何遍历文件夹
- ...
三、常用方法总结
如下是上一期我们对于File类总结到的一些常用方法,仅供参考,如果有啥写的不详细或者理解有偏见的地方,欢迎大家指正。
- exists():判断文件名或路径是否存在,存在即返回true否之false。
- canRead():判断文件名或路径存在且可读,存在返回true否之false。
- canWrite():判断文件名或路径存在且可写,存在返回true。
- isFile():判断File对象是否是文件,是文件返回true否之false。
- isDirectory():判断是否是一个目录,是返回true否之false。
- isAbsolute():判断文件是否是使用绝对路径名创建的,是返回true否之false。
- isHidden():判断文件属性是否隐藏的,是返回true否之false。
- getAbsolutePath():返回文件或目录的绝对路径。
- getName():返回文件或目录的名称。
- getPath():返回文件或目录的完整路径。
- getParent():返回文件或目录的父目录的完整路径。
- lastModified():返回文件或目录的最后一次修改时间。
- length():返回文件或目录的长度。
- listFiles():如果返回的File对象表示的是一个目录,则该方法返回该目录下所有的文件和目录。
- delete():删除文件或目录。
- renameTo(File file):文件重命名。
总结完了,接着就应该领着大家干波大事儿了,那就是带着大家手把手教学。我会做到一个实例一个全代码一个截图,保证大家能在敲写的时候能有对照。
四、实战教学
说明一下,如下所用文件测试,地址真实存在的,我是在本地桌面上创建了一个“test.txt”的文件,专门供以下方法测试。其文件路径全路径为:【C:/Users/86157/Desktop/test.txt】。
1、构造方法public File(String pathname)进行实例演示:
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
2、构造方法public File(String parent, String child)进行实例演示:
String parent = "C:/Users/86157/Desktop";
String child = "test.txt";
File file2 = new File(parent,child);
3、构造方法public File(File parent, String child)进行实例演示:
File parentDir = new File("C:/Users/86157/Desktop");
String child = "test.txt";
File file3 = new File(parentDir,child);
4、exists()方法实例演示
作用:判断文件名或路径是否存在,存在即返回true否之false。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.exists());
}
控制台打印截图:
解析:可以看到该方法返回了true,表示该文件是存在的。
倘若我给定一个不存在的文件,看看返回的是否为false?
很明显是返回了false。验证该方法是没问题的。
5、canRead()方法实例演示
作用:判断文件名或路径存在且可读,存在返回true否之false。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.canRead());
}
控制台打印截图:
6、canWrite()方法实例演示
作用:判断文件名或路径存在且可写,存在返回true。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.canWrite());
}
控制台打印截图:
7、isFile()方法实例演示
作用:判断File对象是否是文件,是文件返回true否之false。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.isFile());
}
控制台打印截图:
若我将最后的文件路径去掉,只传父路径,再测试一下该接口,是否返回false?
结果证明不是文件,实际这是一个目录,验证结论没问题。
8、isDirectory()方法实例演示
作用:判断是否是一个目录,是返回true否之false。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop";
File file = new File(path);
System.out.println(file.isDirectory());
}
控制台打印截图:
事实证明,该路径不是文件,所以直接返回true。
9、isAbsolute()方法实例演示
作用:判断文件是否是使用绝对路径名创建的,是返回true否之false。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop";
File file = new File(path);
System.out.println(file.isAbsolute());
}
控制台打印截图:
10、isHidden()方法实例演示
作用:判断文件属性是否隐藏的,是返回true否之false。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop";
File file = new File(path);
System.out.println(file.isHidden());
}
控制台打印截图:
11、getAbsolutePath()方法实例演示
作用:返回文件或目录的绝对路径。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.getAbsolutePath());
}
控制台打印截图:
12、getName()方法实例演示
作用:返回文件或目录的名称。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.getName());
}
控制台打印截图:
13、getPath()方法实例演示
作用:返回文件或目录的完整路径。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.getPath());
}
控制台打印截图:
14、getParent()方法实例演示
作用:返回文件或目录的父目录的完整路径。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.getParent());
}
控制台打印截图:
15、lastModified()方法实例演示
作用:返回文件或目录的最后一次修改时间。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.lastModified());
}
控制台打印截图:

16、length()方法实例演示
作用:返回文件或目录的长度。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.length());
}
控制台打印截图:
17、listFiles()方法实例演示
作用:如果返回的File对象表示的是一个目录,则该方法返回该目录下所有的文件和目录。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.listFiles());
}
控制台打印截图:
我们给个父级路径试试。
18、delete()方法实例演示
作用:删除文件或目录。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
System.out.println(file.delete());
}
控制台打印截图:
19、renameTo(File file)方法实例演示
作用:文件重命名。
演示代码如下:
@Test
public void test1(){
String path = "C:/Users/86157/Desktop/test.txt";
File file = new File(path);
String path1 = "C:/Users/86157/Desktop/test1.txt";
File file1 = new File(path);
System.out.println(file.renameTo(file1));
}
控制台打印截图:
...
实例我都为大家演示执行了一遍,如果有啥不确定或者不清楚的地方,可以第一时间在评论区告诉我,我看见了会第一时间给与你答复的,好不好。就是遇到问题别憋着,自己最后倒腾出来,不如让当事人给你写解答或者指点来得快些。
其实对于这些方法,都相对比较简单,对于大家而言,你们也需要多去练习几遍,敲几遍,这样自己才能记得住,熟能生巧,要不然看完我直接代码演示及运行截图,就没有下文了,那你们过段时间还是记不住,它干了什么,方法是干啥用的,上述所列基本都是项目中常用的方法,都是需要大家掌握的,这样日后在开发过程中,才能高效工作。
... ...
好啦,以上就是本期内容的全部教学内容啦,如果对文中的任何知识点有疑问,欢迎评论区评论留言呀,我看见都会一一解答的。
五、文末
教学是结束了,但是有些话不知我但讲不当讲,啊哈哈, 可我还是想说给你们听听。如下是我很喜欢的一句话,我打算送给你们,希望我们都能变得更好更优秀。
学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!
wished for you successed !!!
-------------------------------------------
⭐️若喜欢我,就请关注我叭。
⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。
-------------------------------------------