File类概述和构造方法、File的创建功能、File类的判断和获取功能、删除功能、附加File(递归遍历)

File

所在包:java.io
	   public class File
       implements Serializable,Comparable<File>

概述:

  • File是文件和目录路径名的抽象表示
  • 文件和目录是可以通过File封装成对象的
  • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已,它可以是存在的,也可以是不存在的
  • 将来是要通过具体的操作把这个路径的内容转换为具体存在的

File的三个构造方法:

方法名 作用
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
File(String parent,String child) 从父路径名字符串给子路径名字符串创建新的File实例
File(File parent,String child) 从父抽象路径名和子路径名字符串创建新的File实例

代码示例:

方法一:
File f1=new File("E:\\test001\\java.txt");
System.out.println(f1);
方法二:
File f2=new File("E:\\test001","java.txt");
System.out.println(f2);
方法三:
File f3=new File("E:test001");
File f4=new File(f3,"java.txt");
System.out.println(f4);
输出结果:
true
true
true
如果第二次运行则全部输出false  
//因为文件已经创建完毕了 无法再次创建 所以第二次返回false

File的创建功能

创建方法名 作用
public boolean createNewFile() 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件
public boolean mkdir() 创建由此抽象路径名命名的目录
public boolean mkdirs() 创建由此抽象路径名命名的目录,当创建的父目录不存在时一同创建了

代码示例:

方法一:
File f1 = new File("E:\\test001\\java.txt");         
System.out.print(f1.createNewFile());
方法二:
File f2 = new File("E:\\test001\\javase");
System.out.print(f2.mkdir());
方法三:
File f3 = new File("E:\\test002\\javase");
System.out.print(f3.mkdirs());

File类的判断和获取功能

方法名 作用
boolean isDirectory() 此抽象路径名表示的File是否为目录
boolean isFile() 此抽象路径名表示的File是否为文件
boolean exists() 此抽象路径名表示的File是否存在
String getAbsolutePath() 返回此抽象路径名表示的File的绝对路径名字符串
String getPath() 返回此抽象路径名的字符串形式
String getName() 返回此抽象路径名表示的文件或目录名称
String[] list() 返回目录中的文件和目录的名称并转换为字符串数组
File[] listFile() 返回抽象路径名表示的目录中的文件和目录的File对象数组
boolean delete() 删除由此抽象路径名表示的文件或目录

代码示例:

	File f1 = new File("test001\\java.txt");
	
	System.out.print(f1.isDirectory());   
	//是否为目录 false
	System.out.print(f1.isFile());           
	//是否为文件 true
	System.out.print(f1.exists());          
	//测试抽象路径名表示(f1)中的File是否存在 true
	
	System.out.print(f1.getAbsolutePath());           
	//返回抽象路径名(f1)的绝对路径名 就是电脑中f1所在的位置
	System.out.print(f1.getPath());               
	//返回抽象路径名(f1)字符串 就是构造函数中的("test001\\java.txt")
	System.out.print(f1.getName());             
	//返回抽象路径名表示的文件或目录名称 java.txt
	
遍历文件目录下的所有文件方法
	String[] strArray = f1.list();           
	//返回文件名中的文件名和目录名并存入数组
	for(String str : strArray){
   
		System.out.print(str);      
		//将文件夹中所有文件名输出
	}
	File[] fileArray = f1.listFiles();            
	//返回文件名中的文件名和目录名并存入数组
	for(File file : fileArray){
   
		System.out.print(file.getName);     
		//将文件夹中所有文件名输出
	}

删除抽象路径名表示的文件或目录
	File f1 = new File("E:\\test001\\java.txt");
	System.out.print(f1.delete());
	
	File f2 = new File("E:\\test001\\javase");
	System.out.print(f2.delete());
注意事项:
	如果一个目录中有内容,不能直接删除,应该先删除目录中的内容,最后才可以删除目录

绝对路径和相对路径的区别

  • 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E\ \test001\ \javase\ \java.txt
  • 相对路径:必须使用取自其他路径名的信息进行解释。例如:javase\ \java.txt

File递归遍历案例

代码示例:

public static void main(String[] args){
   
	File f1 = new File("C:\\Users\\23353\\Desktop\\录制+图+密码");
	show(f1);
}
public static void show(File list){
   
	File[] f = list.listFiles();
	if(f != null){
   
		for(File file : f){
   
			if(file.isDirectory()){
   
				show(file);
			}else{
   
				System.out.println(file.getName());
			}
		}
	}
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务