File类总结

File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。

  • File类构造方法:

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

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

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

示例:

public class Test {

	public static void main(String[] args) {
		File file = new File("C:\\Program_Files\\apache-maven-3.5.0");
		System.out.println(file.getPath());
		
		file =new File(file,"bin");
		System.out.println(file.getPath());
		
		file=new File("C:\\Program_Files\\apache-maven-3.5.0","bin");
		System.out.println(file.getPath());

        }
}

结果如下:

  • File类常用方法:

1、判断是否是路径:.isDirectory()

2、判断是否为文件:.isFile()

3、获取名字:.getName()

public class Test {

	public static void main(String[] args) {
		File file = new File("C:\\Program_Files\\apache-maven-3.5.0");
		
		//判断是否是路径。
		if(file.isDirectory()) {
			System.out.println(file.getPath()+"是路径");
		}else {
			System.out.println(file.getPath()+"不是路径");
		}
		//判断是否为文件
		if(file.isFile()) {
			System.out.println(file.getPath()+"是文件");
		}else {
			System.out.println(file.getPath()+"不是文件");
		}
		//获取名字
		System.out.println("路径名:"+file.getName());

结果:

4、创建文件夹。.mkdir()/.mkdirs()。mkdir只能创建一级目录。mkdirs能创建多级目录。

5、创建文件。.createNewFile()

public class Test {

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

结果如下:

6、删除文件夹或文件。.delete()

7、重命名。.renameTo(New file())

8、文件夹和文件是否存在。.exists()

 

public class Test {

	public static void main(String[] args) {
	
		//删除文件夹,只删除最后一级且该目录必须为空才能删除。
		//如果该对象表示一个文件,就删除文件。
		File file=new File("C:\\a\\b\\c\\说明.txt");
		if(file.delete()) {
			System.out.println(file.getPath()+"删除成功");
		}else {
			System.out.println(file.getPath()+"删除失败");
		}
		
		//重命名
		file=new File("C:\\a\\b\\c");
		if(file.renameTo(new File("C:\\a\\b\\ccccc"))){
			System.out.println(file.getPath()+"修改成功");
		}else {
			System.out.println(file.getPath()+"修改失败");
		}
		
		//文件夹和文件是否存在
		file=new File("C:\\a\\b\\ccccc");
		if(file.exists()){
			System.out.println(file.getPath()+"存在");
		}else {
			System.out.println(file.getPath()+"不存在");
		}
	}
}

结果:

 

9、获取父级路径。.getParent()

10、获取当前目录。.getPath()

11、获取父级路劲对应file对象。.getParentFile()

12、获取文件夹所有子文件名字构成的数组。.list()

13、获取文件夹所有子文件名字的File对象构成的数组。.listFiles()

public class Test {

	public static void main(String[] args) {
		
		//获取父级路径。
		File file=new File("C:\\a\\b\\ccccc");
		System.out.println("父级路径:"+file.getParent());
		
		//获取当前目录
		System.out.println("当前目录:"+file.getPath());
		
		//获取父级路劲对应file对象
		System.out.println("父级路劲对应file对象的路径:"+file.getParentFile().getPath());
		
		//获取文件夹所有子文件名字构成的数组
		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());
		}
	}
}

结果:

 

14、file.separator

单斜和双斜是一样用的,但是Linux不支持双斜,所以我们为了增加兼容性,会使用separtor进行拼接路径。

public class Test {

	public static void main(String[] args) {
		
		//双斜
		File file=new File("C:\\a\\b\\ccccc");
		System.out.println(file.getPath());
		//单斜
		file=new File("C:/a/b/ccccc");
		System.out.println(file.getPath());
		//file.separator
		file=new File("C:"+file.separator+"a"+file.separator+"b"+file.separator+"ccccc");
		System.out.println(file.getPath());
	}
}

结果:单斜双斜以及sparator输出结果是一样的。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值