一、概述
上一期,我们是具体学习了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));
}
控制台打印截图:
...
实例我都为大家演示执行了一遍,如果有啥不确定或者不清楚的地方,可以第一时间在评论区告诉我,我看见了会第一时间给与你答复的,好不好。就是遇到问题别憋着,自己最后倒腾出来,不如让当事人给你写解答或者指点来得快些。
其实对于这些方法,都相对比较简单,对于大家而言,你们也需要多去练习几遍,敲几遍,这样自己才能记得住,熟能生巧,要不然看完我直接代码演示及运行截图,就没有下文了,那你们过段时间还是记不住,它干了什么,方法是干啥用的,上述所列基本都是项目中常用的方法,都是需要大家掌握的,这样日后在开发过程中,才能高效工作。