详述java的File类常用方法

File类:

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

File类构造方法:

常用的有三种:
1、File(String pathname):通过路径名创建一个新 File 实例。

2、File(File parent, String child):根据父目录路径File实例和子目录或文件路径创建一个新 File 实例。

3、File(String parent, String child) :根据父目录路径和子目录或文件路径创建一个新 File 实例。

import java.io.File;

public class Work {

	public static void main(String[] args){
	
		File file = new File("E:\\网易有道词典\\Youdao\\Dict\\guid.dat"); //第一种方式。
		System.out.println(file.getPath()); //getPath()返回该file的路径。
		
		file=new File(new File("E:\\网易有道词典\\Youdao"),"Dict\\guid.dat"); //第二种方式。
		System.out.println(file.getPath());‘
		
		file=new File("E:\\网易有道词典\\Youdao\\Dict","guid.dat"); //第三种方式。
		System.out.println(file.getPath());
	}
}

输出:
E:\网易有道词典\Youdao\Dict\guid.dat
E:\网易有道词典\Youdao\Dict\guid.dat
E:\网易有道词典\Youdao\Dict\guid.dat

File类常用方法:

大致有以下几种:

  1. isDirectory() 是否为文件夹
  2. isFile() 是否为文件
  3. getPath() 得到file的路径
  4. getName() 得到最后一层的名字
  5. getParent() 得到去掉最后一层的路径
  6. getParentFile() 得到父类路径的新文件
  7. renameTo() 改名
  8. mkdir() 创建新文件夹,只能创建一层
  9. mkdirs() 创建新文件夹,可以多层
  10. createNewFile() 创建新文件,只能一层
  11. exists() 路径是否存在
  12. delete() 删除文件或者目录(为空的目录)
  13. list() 返回该路径下文件或者文件夹的名字数组
  14. listFiles() 返回该路径下文件或者文件夹组成的File数组
  15. separator 代替文件或文件夹路径的斜线或反斜线,防止跨平台出现错误

详述方法:

1、isDirectory(): 判断此File对象代表的路径表示是不是文件夹,只有File对象代表路径存在且是一个目录时才返回true,否则返回false。

2、isFile():判断此File对象代表的路径是否是一个标准文件,只有File对代表路径存在且是一个标准文件时才返回true,否则返回false。

3、getPath():返回File对象所表示的字符串路径。

4、getName():返回此对象表示的文件或目录最后一级文件夹名称。

5、getParent():返回此File对象的父目录路径名;如果此路径名没有指定父目录,则返回 null。

6、getParentFile():返回File对象所在的父目录File实例;如果File对象没有父目录,则返回 null。

import java.io.File;

public class Work {

	public static void main(String[] args){
		File file = new File("E:\\网易有道词典\\Youdao\\Dict\\guid.dat");

		if(file.isDirectory()) //1、判断该路径是否为文件夹。
		{
			System.out.println("YES");
		}else{
			System.out.println("NO");
		}
		
		if(file.isFile()) //2、判断该路径是否为文件。
		{
			System.out.println("yes");
		}else{
			System.out.println("no");
		}
		
		System.out.println(file.getPath()); //3、路径名称。
		
		System.out.println(file.getName()); //4、最后一层名称。
		
		System.out.println(file.getParent()); //5、去掉最后一层的路径名称。
		
		File file1 = file.getParentFile(); //6、返回File实例,路径为去掉最后一层的路径。
		System.out.println(file1.getPath());

	}
}

输出:
NO
yes
E:\网易有道词典\Youdao\Dict\guid.dat
guid.dat
E:\网易有道词典\Youdao\Dict
E:\网易有道词典\Youdao\Dict

7、 renameTo():重新命名此File对象表示的文件,重命名成功返回true,否则返回false。

8、 mkdir():创建此File类对象指定的目录(文件夹),不包含父目录。创建成功回true,否则返回false。

9、 mkdirs():创建此File对象指定的目录,包括所有必需但不存在的父目录,创建成功返回true;否则返回false。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。

10、createNewFile():如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false;如果所创建文件所在目录不存在则创建失败并出现IOException异常。

11、exists():判断文件或目录是否存在。

原先文件夹:
在这里插入图片描述
执行代码:

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

public class Work {

	public static void main(String[] args) throws IOException{
		File file = new File("D:\\Tom\\Jim.txt");
		
		System.out.println(file.renameTo(new File("D:\\Tom\\Jom.txt"))); //7、改名,括号中必须是File实例。
		
		Boolean flag = new File("D:\\Tom\\Lacy").mkdir(); //8、创建一层文件夹。
		System.out.println(flag);
		
		flag = new File("D:\\Tom\\a\\b").mkdirs(); //9、可以创建多层文件夹。
		System.out.println(flag);
		
		flag = new File("D:\\Tom\\a.doxc").createNewFile(); //10、创建一层文件。
		System.out.println(flag);
		
		System.out.println(new File("D:\\Tom\\a.doxc").exists()); //11、判断该文件或者文件夹是否存在。
		
	}
}

输出:
true
true
true
true
true

现在文件夹:
在这里插入图片描述

12、 delete():删除File类对象表示的目录或文件。如果该对象表示一个目录,则该目录必须为空才能删除;文件或目录删除成功返回true,否则false。

13、 list():返回由File对象对应目录所包含文件名或文件夹名组成的字符串数组。

14、 listFiles():返回由当前File对象对应目录所包含文件路径或文件夹路径组成的File类型的数组。

15、 separator:指定文件或目录路径时使用斜线或反斜线来写,但是考虑到跨平台,斜线反斜线最好使用File类的separator属性来表示。

原先文件夹:
在这里插入图片描述

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

public class Work {

	public static void main(String[] args) throws IOException{
		File file = new File("D:\\Tom\\Jom.txt");
		File file1 = new File("D:"+File.separator+"Tom");  //15、File.separator会根据操作系统自动生成\\或者/。
		
		System.out.println(file.delete()); //12、删除文件或者内容为空的文件夹。
		
		String[] names = file1.list(); //13、返回该文件夹下的文件名称和文件夹名称。
		for (String name : names) {
			System.out.println(name);
		}
		
		File[] files = file1.listFiles(); //14、返回该文件夹下的文件和文件夹的File实例数组。
		for (File file2 : files) {
			System.out.println(file2.getPath());//输出路径。
		}
	}
}

输出:
true
a
a.doxc
Lacy
D:\Tom\a
D:\Tom\a.doxc
D:\Tom\Lacy

现在文件夹:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值