目录
一、什么是File类、IO流
1.File类
2.I/O流
3.File类的构造方法
二、绝对路径与相对路径
三、File类的成员方法
1.File类的创建功能
(1)createNewFile() 创建空的文件
(2)mkdir() 创建单级文件夹编辑
(3) mkdirs() 创建多级文件夹编辑
2.File类的删除方法
(1)delete()方法
3.File类的获取和判断功能
4.File类的高级获取功能
(1)listFile()方法
一、什么是File类、IO流
1.File类
1.File类是文件和目录(文件夹)路径名的抽象表示,文件和目录可以通过File封装成对象,该对象仅仅是一个路径名,它可以存在也可以不存在。
2.作用:
- 在读、写数据时告诉虚拟机要操作的文件/文件夹的位置
- 对文件/文件夹本身进行创建、删除等操作
2.I/O流
1.IO流可以对硬盘中的文件进行读写
2.作用:
- 可以将数据从内存保存到本地文件(永久保存)
- 可以将数据从本地文件中读取出来
3.File类的构造方法
- String类与File类的转换:将String类转换为File类,便于使用File中的方法
- String类与String类:即两个路径的拼接
- File类与String类:即两个路径的拼接
代码示例:
public class myFileDemo_01 {
public static void main(String[] args) {
// method1();
// method2();
// method3();
}
private static void method3() {
//3.从父抽象路径名和子路径名字字符串创建新的File实例(File与String进行拼接)
File file = new File("D:\\学习视频2");
String str = "\\09_第九章 IO流\\01_File";
File file1 = new File(file, str);
System.out.println(file1);
}
private static void method2() {
// 2.从父路径名字字符串和子路径名字字符串创建新的File实例(两个String进行拼接)
String str1 = "D:\\学习视频2";
String str2 = "\\09_第九章 IO流\\01_File";
File file = new File(str1, str2);
System.out.println(file);
}
private static void method1() {
//1.通过给定路径名字字符串转换为抽象路径名来创建新的File实例(将String类型转为File类型,便于使用File的方法)
String str = "D:\\学习视频2\\09_第九章 IO流\\01_File";
File file = new File(str);
System.out.println(file);
}
}
二、绝对路径与相对路径
- 绝对路径:路径固定不变;从盘符开始
- 相对路径:相对当前项目下的路径
例子:
三、File类的成员方法
1.File类的创建功能
File可以创建空的文件、或单级文件夹、或多级文件夹
- createNewFile() 创建空的文件
- mkdir() 创建单级文件夹
- mkdirs() 创建多级文件夹
代码示例:
public class myFileDemo_02 {
public static void main(String[] args) throws IOException {
// method1();
// method2();
// method3();
}
private static void method3() {
//在D:\\A下创建一个名为a、b、c的多级文件夹
//注意点:
//1.mkdirs()也可以创建单级文件夹
//2.mkdirs()只能创建文件夹
File file = new File("D:\\A\\a\\b\\c");
boolean result = file.mkdirs();
System.out.println(result);
}
private static void method2() {
//在D:\\A下创建一个名为a的单级文件夹
//注意点:
//mkdir()不管有没有后缀,只能创建单级文件夹
File file = new File("D:\\A\\a");
boolean result = file.mkdir();
System.out.println(result);
}
private static void method1() throws IOException {
//在D:\\A下创建一个名为a的空文件
//注意点:
//1.当文件已经存在时,创建失败,返回false;反之返回true
//2.createNewFile()不管有没有后缀,只能创建文件
File file = new File("D:\\A\\a");
boolean result = file.createNewFile();
System.out.println(result);
}
(1)createNewFile() 创建空的文件
(2)mkdir() 创建单级文件夹
(3) mkdirs() 创建多级文件夹
2.File类的删除方法
(1)delete()方法
public static void main(String[] args) {
//删除D盘下A文件夹中的c文件夹
//注意点:
//1.删除后不能从回收站恢复
//2.可以删文件,也可以删文件夹;删文件时是直接删除,删文件夹前提文件夹必须是空文件夹
File file = new File("D:\\A\\a\\b\\c");
boolean result = file.delete();
System.out.println(result);
3.File类的获取和判断功能
- isDirectory 判断File是否为目录(文件夹)
- isFile 判断File是否为文件
- exists 判断File是否存在
- getName 获取File名字(若是文件,则获取结果是文件名.后缀名;若是文件夹,则获取结果是文件夹名)
4.File类的高级获取功能
(1)listFile()方法
进入文件夹,获取这个文件夹里面所有的文件和文件夹的File对象,并把这些File对象都放在一个数组中返回
(包括隐藏文件和隐藏文件夹)
代码示例:
注意点:
1.当调用者是一个文件时:返回null
2.当调用者是一个空文件夹时:返回长度为0的数组
3.当调用者是一个文件夹时:获取这个文件夹里面所有的文件和文件夹的File对象,并把这些File对象都放在一个数组中返回(包括隐藏文件和隐藏文件夹)
4.当调用者是一个有权限才能进入的文件夹时:返回null
*/
package myFileDemo;
import java.io.File;
public class myFileDemo_05 {
public static void main(String[] args) {
File file =new File("D:\\");
File[] files = file.listFiles(); //返回值是一个File类型的数组
for (File path : files) {
System.out.println(path);
}
}