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类常用方法:
大致有以下几种:

isDirectory() 是否为文件夹
isFile() 是否为文件
getPath() 得到file的路径
getName() 得到最后一层的名字
getParent() 得到去掉最后一层的路径
getParentFile() 得到父类路径的新文件
renameTo() 改名
mkdir() 创建新文件夹,只能创建一层
mkdirs() 创建新文件夹,可以多层
createNewFile() 创建新文件,只能一层
exists() 路径是否存在
delete() 删除文件或者目录(为空的目录)
list() 返回该路径下文件或者文件夹的名字数组
listFiles() 返回该路径下文件或者文件夹组成的File数组
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。

代码如下:

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():判断文件或目录是否存在。

代码如下:

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属性来表示。

代码如下:

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
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值