File类

作用

  • 在Java程序中,对磁盘文件进行扫描的类。文件和目录路径名的抽象表达形式。

常用构造方法

方法名 描述
File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

文件属性方法

  • 属性:
    • static String pathSeparator:与系统有关的路径分隔符,为了方便,它被表示为一个字符串(;)。
    • static char pathSeparatorChar:;
    • static String Separator:与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串(\)。
    • static char SeparatorChar:\
  • 方法:
返回值 方法名/描述
boolean canExecute() 测试应用程序是否可以执行此抽象路径名表示的文件。
boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。
boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
int compareTo(File) 按字母顺序比较两个抽象路径名。
boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
boolean createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建个新的空文件。
boolean delete() 删除此抽象路径名表示的文件或目录。
File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式。
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
File getCanonicalFile() 返回此抽象路径名的规范形式。
String getCanonicalPath() 返回此抽象路径名的规范路径名字符串。
String getName() 返回由此抽象路径名表示的文件或目录的名称。
String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录则返回 null。
String getPath() 将此抽象路径名转换为一个路径名字符串。
boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。
boolean isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。
String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
boolean mkdir() 创建此抽象路径名指定的目录。
boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
boolean renameTo(File dest) 重新命名此抽象路径名表示的文件。
File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

代码案例:

  • (1)列出文件夹中所有的子文件夹和文件,包括子文件夹中文件和文件夹
//1 列出文件夹中所有的子文件夹和文件,包括子文件夹中文件和文件夹
	public void listFiles(File dir) {
		System.out.println(dir.getAbsolutePath());
		File[] files=dir.listFiles();
		if(files!=null&&files.length>0) {
			for (File file : files) {
				if(file.isDirectory()) {
					//递归
					listFiles(file);
				}else {
					System.out.println(file.getAbsolutePath());
				}
			}
		}
	}
  • (2)递归删除文件夹
public void deleteDir(File dir) {
		File[] files=dir.listFiles();
		if(files!=null&&files.length>0) {
			for (File file : files) {
				if(file.isDirectory()) {
					deleteDir(file);
				}else {
					//删除文件
					System.out.println(file.toString()+"-----"+file.delete());
				}
			}
		}
		//删除文件夹
		System.out.println(dir.toString()+"*********"+dir.delete());
	}


转载请注明:Memory的博客 » 点击阅读原文

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦