Java_104_File_递归文件目录

本文深入探讨了Java中File类的功能与使用方法,包括文件和目录的操作如创建、删除、重命名等,并通过实例展示了如何使用递归遍历目录结构。
package Test;
import java.io.File;
import java.io.IOException;
import java.util.Date;
/**
 * java.io.File类:代表文件和目录。在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。
 * File类的常见构造方法:public File(String pathname)
 * 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中储存
 * @author pmc
 *
 */
public class FileTest {
	public static void main(String[] args) throws IOException{
		File f=new File("d:/a.txt");//File f=new File("d:\\a.txt");
		System.out.println(f);
		f.renameTo(new File("d:/bb.txt"));//修改文件名
		System.out.println(System.getProperty("user.dir"));//当前项目路径
		File f2=new File("c.txt");
		f2.createNewFile();//创建文件
		System.out.println(f2.getAbsolutePath());//绝对路径
		
		System.out.println("File是否存在:"+f2.exists());
		System.out.println("File是否是目录:"+f2.isDirectory());
		System.out.println("File是否是文件:"+f2.isFile());
		System.out.println("File最后修改时间:"+new Date(f2.lastModified()));
		System.out.println("File的大小:"+f2.length());
		System.out.println("File的文件名:"+f2.getName());
		System.out.println("File的目录路径:"+f2.getPath());
		
		File f3=new File("d:/电影/华语/大陆");
		boolean flag=f3.mkdir();
		flag=f3.mkdirs();
		System.out.println(flag);
		System.out.println("分割线*********************************");
		
		File file=new File("d:/abc/b.txt");
		boolean flags=file.exists();//是否存在
		if(flags){
			boolean flagss=file.delete();
			if(flagss){
				System.out.println("删除陈功");	
			}else{
				System.out.println("删除失败");	
			}
		}else{
			boolean flagsc=true;
			try{
				File dir=file.getParentFile();
				dir.mkdirs();
				flagsc=file.createNewFile();
				System.out.println("创建成功");
			}catch(IOException e){
				System.out.println("创建失败");
				e.printStackTrace();
			}
		}
	}
}

递归

package Test;

import java.io.File;

/**
 * 递归遍历目录结构和树状展现
 * 
 * @author pmc
 *
 */
public class FileTest2 {
	public static void main(String[] args) {
		File f=new File("d:/QQtemp/IDM");
		printFile(f,1);
	}
	
	static void printFile(File file,int level){
		for(int i=0;i<level;i++){
			System.out.print("-");
		}
		System.out.println(file.getName());
		if(file.isDirectory()){
			File[] files=file.listFiles();
			for(File temp:files){
				printFile(temp,level+1);
			}
		}
	}
	
	
	
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_Pmc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值