菜鸟先飞之JAVA_File类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Happy_cloudlife/article/details/78131237
File类的概述
文件和目录路径名的抽象表示形式,File应该是一个路径, 文件路径或者文件夹路径,路径分为绝对路径和相对路径,绝对路径是一个固定的路径,从盘符开始;相对路径相对于某个位置,在eclipse下是指当前项目下。

File类的构造方法
File(String pathname):根据一个路径得到File对象
File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象

File类的创建功能
public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来

File类的重命名和删除功能
重命名和删除功能
public boolean renameTo(File dest):把文件重命名为指定的文件路径
public boolean delete():删除文件或者文件夹
重命名注意事项,如果路径名相同,就是改名;如果路径名不同,就是改名并剪切。
删除注意事项,Java中的删除不走回收站,要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹。

File类的判断功能
public boolean isDirectory():判断是否是目录
public boolean isFile():判断是否是文件
public boolean exists():判断是否存在
public boolean canRead():判断是否可读
public boolean canWrite():判断是否可写
public boolean isHidden():判断是否隐藏

File类的获取功能
public String getAbsolutePath():获取绝对路径
public String getPath():获取路径
public String getName():获取名称
public long length():获取长度。字节数
public long lastModified():获取最后一次的修改时间,毫秒值
public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

File类的过滤器
public String[] list(FilenameFilter filter):文件名称过滤器
public File[] listFiles(FileFilter filter):文件过滤器

File类的递归
/*
	 * 层级打印
	 */
	public static void printLev(File dir, int lev) {
		// 把文件夹中的所有文件以及文件夹的名字按层级打印
		File[] subFiles = dir.listFiles();
		// 遍历数组
		for (File subFile : subFiles) {
			// lev控制制表符的个数
			for (int i = 0; i <= lev; i++) {
				System.out.print("\t");
			}
			// 无论是文件还是文件夹,都需要直接打印
			System.out.println(subFile);
			// 如果是文件夹,递归调用
			if (subFile.isDirectory()) {
				// 深度加一
				printLev(subFile, ++lev);
			}
		}
	}


猜你喜欢

转载自blog.csdn.net/Happy_cloudlife/article/details/78131237