文章目录
–
File类是干什么的呢?
假如你在玩游戏,这时候你的好基友来个电话,喊你一起去玩,而且还有女生。这时你会想我游戏玩到一半的这就出去,我玩这么半天的不是白玩了吗,这是就需要游戏存档,而游戏存档这个步骤就和File文件的操作有关系了
要想实现就需要:1.数据传输目的地 2.传输数据的方式
一、File类创建对象
File 对象就是表示一个路径,可以是文件路径,也可以是文件夹路径,这个路径可以是存在的,也允许是不存在的。
以上图片就是FIle类创建对象的三个方法
1.public File(String pathname)方式创建对象,代码如下
String str = "D:\\idea\\jdbc_demo01\\src\\a.txt";
File f1 = new File(str);
System.out.println(f1);//D:\idea\jdbc_demo01\src\a.txt
2.public File(String parent,String child) 方式创建对象,代码如下:
//1.父级路径:D:\idea\jdbc_demo01\src
//2.子级路径:a.txt
String parent = "D:\\idea\\jdbc_demo01\\src";
String child = "a.txt";
File f2 = new File(parent,child);
System.out.println(f2);//D:\idea\jdbc_demo01\src\a.txt
3.public File(File parent , String child)方式创建对象,代码如下:
//把一个File文件表示的路径和String表示的路径进行拼接
File parent2 = new File("D:\\idea\\jdbc_demo01\\src");
String chile2 = "a.txt";
File f4 = new File(parent2,chile2);
System.out.println(f4);//D:\idea\jdbc_demo01\src\a.txt
总结
1.File表示什么?
File 对象就是表示一个路径,可以是文件路径,也可以是文件夹路径,这个路径可以是存在的,也允许是不存在的。
2.绝对路径和相对路径是什么意思?
绝对路径是带磁盘符的
相对路径是不带磁盘 的,默认到当前项目下去找。上边的例子全都是绝对路径。
3.File三种构造方法的作用?
请看上边的三种构造
二、File中常见的成员方法
1.File中常见的成员方法之判断和获取
1.判断的方法
//1.对一个文件进行判断
File f1 = new File("D:\\idea\\xha\\a.txt");
System.out.println(f1.isDirectory());//false
System.out.println(f1.isFile());//true
System.out.println(f1.exists());//true
//2.对一个文件夹的路径进行判断
File f2 = new File("D:\\idea\\xha\\bbb");
System.out.println(f2.isDirectory());//true
System.out.println(f2.isFile());//false
System.out.println(f2.exists());//true
//3.对于一个不存在的路径进行判断:
File f3 = new File("D:\\idea\\xha\\c.txt");
System.out.println(f3.isDirectory());//false
System.out.println(f3.isFile());//false
System.out.println(f3.exists());//false
2.获取的方法
//1.length 返回文件的大小(字节数量)
//细节1:这个方法只能获取文件的大小,单位是字节
//如果单位我们要是M,G。可以不断的除以 1024
//len / 1024 KB
//len / 1024 / 1024 MB
//细节2:这个方法无法获取文件夹的大小
//如果我们要获取一个文件的大小,需要把这个文件夹的里所有的文件大小都加在一起
File f1 = new File("D:\\idea\\xha\\a.txt");
long len = f1.length();
System.out.println(len);// 7(字节)
//如果是文件夹呢?
File f2 = new File("D:\\idea\\xha\\bbb");
long len2 = f2.length();
System.out.println(len2);// 0
//2.getAbsolutePath 返回文件的绝对路径
File f3 = new File("D:\\idea\\xha\\a.txt");
String path1 = f3.getAbsolutePath();
System.out.println(path1);//D:\idea\xha\a.txt
//当前项目目录下的文件create02.txt
File f4 = new File("create02.txt");
String path2 = f4.getAbsolutePath();
System.out.println(path2);//D:\idea\jdbc_demo01\create02.txt
//3.getPath 返回定义文件时使用的路径
File f5 = new File("D:\\idea\\xha\\a.txt");
String path3 = f5.getPath();
System.out.println(path1);//D:\idea\xha\a.txt
//当前项目目录下的文件create02.txt
File f6 = new File("create02.txt");
String path4 = f6.getPath();
System.out.println(path2);//D:\idea\jdbc_demo01\create02.txt
//4.getName 获取文件名
//细节1:如果是文件,返回的就是文件名以及它的后缀名
//细节2:如果是文件夹,返回的就是文件夹的名字
File f7 = new File("D:\\idea\\xha\\a.txt");
String name1 = f7.getName();
System.out.println(name1);//a.txt
//文件夹
File f8 = new File("D:\\idea\\xha\\bbb");
String name2 = f8.getName();
System.out.println(name2);//bbb
//5.public long lastModified() 返回文件的最后修改时间(单位为毫秒值)
File f9 = new File("D:\\idea\\xha\\bbb");
long time = f9.lastModified();
System.out.println(time);//1667619884910
2.File中常见的成员方法之创建和删除
重点:delete方法默认只是删除文件和空文件夹,delete方法直接删除不走回收站
方法说明如下:
//1.createNewFile 创建一个新的空文件
//细节1:如果文件已存在那么返回值就是 false,反之就是 true
//细节2:如果父级路径不存在,那么方法会有异常 IOException
//细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则会创建一个没有后缀名的文件
File f1 = new File("D:\\idea\\xha\\c.txt");
boolean b1 = f1.createNewFile();
System.out.println(b1);//true
//2.mkdir make Directory. 创建文件夹(目录)
//细节1:windows 当前目路径是唯一的,如果当前路径已经存在,则创建失败,返回false
//细节2:mkdir 方法只能创建单级文件夹,无法创建多级文件夹
File f2 = new File("D:\\idea\\xha\\ddd");
boolean b2 = f2.mkdir();
System.out.println(b2);//true
//3.mkdirs 创建多级文件夹
//细节1:既可以创建单级的文件夹,也可以创建多级的文件夹
File f3 = new File("D:\\idea\\xha\\ddd\\ccc\\aaa");
boolean b3 = f2.mkdirs();
System.out.println(b2);//true
//4.delete 删除文件,空文件夹
//细节1:
// 如果删除文件,则直接删除不走回收站,
// 如果删除的是空文件夹,则直接删除,不走回收站
// 如果删除的是有内容的文件夹,则删除失效
File f4 = new File("D:\\idea\\xha\\a.txt");
boolean b4 = f4.delete();
System.out.println(b4);//true
File f5 = new File("D:\\idea\\xha\\ccc");
boolean b5 = f5.delete();
System.out.println(b5);//true
3.File中常见的成员方法之获取并遍历(重要)
该方法的细节为:
//1.public File[] listFiles() 获取当前路径下的所有内容
//作用:获取文件夹里的所用内容,把所有内容方法数组中进行返回
File f1 = new File("D:\\idea\\xha");
File[] files = f1.listFiles();
for (File file : files) {
//file依次表示文件夹xha里的每一个文件或者文件夹
System.out.println(file);/*D:\idea\xha\a.txt
D:\idea\xha\b.txt
D:\idea\xha\bbb
D:\idea\xha\c.txt
D:\idea\xha\ccc
D:\idea\xha\ddd
D:\idea\xha\fff*/
}