1.文件
文件为电脑的一种存储形式,比如.txt .jpg .doc等,储存在电脑的硬盘里面。
绝对路径
File f1 = new File("E:\\CODE\\CLion\\IJ\\java笔记.txt");
//第一种路径方式,有盘符的绝对路径`在这里插入代码片`
相对路径
File f2 = new File("java笔记.txt");
//第二种路径方式,相对于当前工程项目的路径的相对路径
代码示例
File f = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
//创建了一个File对象,表示一个文件或者路径名的抽象表示形式
File f = new File("E:/CODE/CLion/IJ/test1.txt");
//建议使用“/”表示路径
//构建File对象的几种方法
//1.
File f3 = new File("E:\\CODE\\CLion\\IJ\\java笔记.txt");
File f4 = new File("E:/CODE/CLion/IJ/java笔记.txt");//建议这样写
//2.
File f5 = new File("E:/CODE/CLion/IJ", "java笔记.txt");//建议这样写
File f6 = new File("E:/CODE/CLion/","/IJ/src/java笔记.txt");
//3.
File f7 = new File(new File("E:/CODE/CLion/IJ"), "java笔记.txt");
File f8 = new File("con.txt");//不能创建con的文件,因为操作系统的关键字有con
System.out.println(f8.createNewFile());
File产生的对象,并不一定存在,是内存中的对象和硬盘里面的文件一种映射关系。
如果文件存在硬盘中,就建立联系,并且可以通过对象操作硬盘里面的文件。
常用的10个类方法
1)createNewFile()方法 返回boolean类型
File f = new File("test.txt");
//创建了一个File对象,表示一个文件或者路径名的抽象表示形式
try {
boolean value = f.createNewFile();//只能一个之前不存在的文件
//不会建立文件夹
System.out.println(value);//返回值为boolean型,建立成功返回true
} catch (IOException e) {//要有异常处理
e.printStackTrace();
}
运行结果
true
2)getName()方法 返回String类型
File f = new File("test.txt");
//创建了一个File对象,表示一个文件或者路径名的抽象表示形式
System.out.println(f.getName());//返回抽象路径的最后一个名字
运行结果
test.txt
3)getParent()方法 返回String类型
File f = new File("test.txt");
File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
System.out.println(f.getName());
System.out.println(f.getParent());//返回上一级之及前的字符串
System.out.println(f1.getParent());
运行结果
test.txt
null
E:\CODE\CLion\IJ
4)getParentFile()方法 返回File对象
File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
File file1 = f1.getParentFile();//返回上一级的对象
System.out.println(file1.getName());
运行结果
IJ
5)getAbsolutePath()方法 返回String类型
File f = new File("test.txt");
File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
System.out.println(f.getAbsolutePath());//返回的一定是绝对路径
System.out.println(f1.getAbsolutePath());//建立File对象是相对路径,返回也是绝对路径
运行结果
E:\CODE\CLion\IJ\test.txt
E:\CODE\CLion\IJ\test1.txt
6)getAbsoluteFile()方法 返回File对象
File f = new File("test.txt");
File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
File file = f.getAbsoluteFile();//返回一个具有绝对路径的File对象
File file1 = f1.getAbsoluteFile();
System.out.println(file.getName());//打印出file的名字
System.out.println(file1.getName());
运行结果
test.txt
test1.txt
7)isFile()方法 返回boolean类型
File f = new File("test.txt");
File f1 = new File("E:\\CODE\\CLion\\IJ");
System.out.println(f.isFile());//判断是否是文件,是返回true 否返回false
System.out.println(f1.isFile());
运行结果
true
false
8)list()方法 返回String[]
File f1 = new File("E:\\CODE\\CLion\\IJ");
String[] files = f1.list();//返回IJ文件夹下的所有目录
int i = 0;
while(i < files.length) {
System.out.println(files[i++]);
}
运行结果
.idea
con1
IJ.iml
java笔记.txt
out
output1
src
test.txt
test1.txt
test2.txt
9)listFiles()方法 返回File[]
File f1 = new File("E:\\CODE\\CLion\\IJ");
File[] files = f1.listFiles();//返回IJ文件夹下所有目录对象
int i = 0;
while(i < files.length) {
System.out.println(files[i++].getName());
}
运行结果
扫描二维码关注公众号,回复:
9810527 查看本文章
.idea
con1
IJ.iml
java笔记.txt
out
output1
src
test.txt
test1.txt
test2.txt
10)delete()方法 返回boolean类型
File f = new File("test.txt");
File f1 = new File("E:\\CODE\\CLion\\IJ");
System.out.println(f.delete());
System.out.println(f1.delete());
//注意只能删除空文件夹和文件,如果文件夹不为空则无法删除
运行结果
true
false
2.文件夹
文件夹起分割文件的作用,是一个目录路径,在硬盘没有空间,占用0字节。
常用的3个类方法
1)isDirectory()方法返回boolean类型
File f = new File("test.txt");
File f1 = new File("E:\\CODE\\CLion\\IJ");
System.out.println(f.isDirectory());//是否是文件夹 是true 否false
System.out.println(f1.isDirectory());
运行结果
false
true
2)mkdir()方法返回boolean类型
File f1 = new File("E:\\CODE1");
File f2 = new File("E:\\TEST\\test");
System.out.println(f1.mkdir());//是连续完整的路径,可以创建
System.out.println(f2.mkdir());//TEST文件夹不在E盘中,路径不连续,无法创建test文件夹
运行结果
true
false
3)mkdirs()方法返回boolean类型
File f1 = new File("E:\\CODE1");
File f2 = new File("E:\\TEST\\test");
System.out.println(f1.mkdirs());
System.out.println(f2.mkdirs());//可以创建路径不完整的文件夹,每个目录的文件夹都会创建
true
true