File类总结

File类构造方法

构造方法有三种形式:

方法

说明

File(String pathname)

通过路径名创建一个新 File 实例

File(File parent, String child)

根据父目录路径File实例和子目录或文件路径创建一个新 File 实例

File(String parent, String child)

根据父目录路径和子目录或文件路径创建一个新 File 实例

public class Test {

	public static void main(String[] args) {
		//File(String pathname)
		File file = new File("D:\\a");
		//File(File parent, String child)
		file = new File(file,"b");
		//File(String parent, String child) 
		file = new File("D:\\a","b");
	}
}

注意:File类代表一个特定的文件或者目录;具体代表文件还是目录是要根据调用构造方法时的赋值来判断;如果所赋之值为路径,则 file对象 代表路径即目录;如果所赋之值为 完整路径 + 文件名;则 file 对象 代表文件;如下:

public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\adm");
		System.out.println(file);
		file = new File("D:\\adm\\新建日记本文档.jnt");
		System.out.println(file);
	}
}

                           

isDirectory 和 isFile

分别为判断是否为文件夹、判断是否为文件;用法如下:

public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\adm\\新建日记本文档.jnt");
		//判断是否为文件夹
		if(file.isDirectory()) {
			System.out.println("YES");
		}else {
			System.out.println("NO");
		}
		//判断是否为文件
		if(file.isFile()) {
			System.out.println("YES");
		}else {
			System.out.println("NO");
		}
		
	}
}

输出结果:
NO
YES

getName

获取文件名或问价夹名;若 file 为文件对象则为获取文件名,若为路径(目录)则获取最后一级文件夹名;

public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\adm\\新建日记本文档.jnt");
		System.out.println(file.getName());
		file = new File("D:\\a\\b\\c");
		System.out.println(file.getName());	
	}
}

输出结果:
新建日记本文档.jnt
c

mkdir、mkdirs 和 createNewFile

创建一级文件夹、创建多级文件夹和创建文件;

import java.io.File;
import java.io.IOException;

public class Test {

	public static void main(String[] args) {
		//创建文件夹 :一级文件夹(根目录)
		File file = new File("D:\\adm");
		if(file .mkdir()) {
			System.out.println("创建成功");
		}else {
			System.out.println("创建失败");
		}
		//创建多级文件夹
		file = new File("D:\\a\\b\\c\\d");
		if(file.mkdirs()) {
			System.out.println("创建成功");
		}else {
			System.out.println("创建失败");
		}
		//创建文件
		file = new File("D:\\说明.txt");
		try {
			if(file.createNewFile()){
				System.out.println("创建成功");
			}else {
				System.out.println("创建失败");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

结果如下:
创建成功
创建成功
创建成功

delete、renameTo 和 exists

删除、修改文件名和判断是否存在;

import java.io.File;

public class Test {

	public static void main(String[] args) {
		//删除
		File file = new File("D:\\a\\b\\c\\d");
		if(file.delete()) {
			System.out.println("删除成功");
		}else {
			System.out.println("删除失败");
		}
		//重命名
		file = new File("D:\\说明.txt");
		if(file.renameTo(new File("D:\\shuoming.txt"))) {
			System.out.println("修改成功");
		}else {
			System.out.println("修改失败");
		}
		//判断是否存在
		file = new File("D:\\shuoming.txt");
		if(file.exists()) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
	}
}

结果如下:
删除成功
修改成功
Yes

getParent、getPath 和 getParentFile

获取父级路径、获取当前路径和获取父级路径所对应的File对象;

import java.io.File;

public class Test {

	public static void main(String[] args) {
		//获取父级路径
		File file = new File("D:\\adm\\新建日记本文档.jnt");
		System.out.println(file.getParent());
		//获取当前路径
		System.out.println(file.getPath());
		//获取父级路径对应的File对象
		System.out.println(file.getParentFile());
	}
}

结果如下:
D:\adm
D:\adm\新建日记本文档.jnt
D:\adm

list 和 listFiles

获取文件夹所有子文件(夹)所组成的数组和获取文件夹所有子文件(夹)对应的File对象所组成的数组;

import java.io.File;

public class Test {

	public static void main(String[] args) {
		//获取文件夹所有子文件夹的名字
		File file = new File("D:\\a");
		String [] names = file.list();
		for (String name : names) {
			System.out.println(name);
		}
		//获取文件夹所有子文件对应的File对象构成的数组
		File [] files = file.listFiles();
		for (File f : files) {
			System.out.println(f.getPath());
		}
	}
}

结果和文件夹结构:

                     

separator

拼接;Linux系统只能识别 “/” 的文件目录,而不能识别 “\\” 的文件目录;因此需要采用拼接技术来实现代码在各个系统之间的兼容性;

import java.io.File;

public class Test {

	public static void main(String[] args) {
		//separator 拼接
		File file = new File("D:\\adm\\新建日记本文档.jnt");
		file = new File("D:"+file.separator+"adm"+file.separator+"新建日记本文档.jnt");
		System.out.println(file.separator);
		System.out.println(file);
	}
}

输出结果如下:
\
D:\adm\新建日记本文档.jnt

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值