JavaSE@拓展补遗@笔记03@File类使用介绍

一、File类

1、概述

File表示文件或文件夹的路径。

注意事项:File对象只表示一个路径,不表示文件,所以不管文件存不存在,File对象都不会报错。

2、构造方法

方法说明
public File(String pathname)给定路径名称创建File对象
public File(String parent, String child)给定父路径和子路径创建File对象
public File(File parent, String child)给定父路径的File类型和子路径创建File对象

代码演示

import java.io.File;
public class Test01 {
    public static void main(String[] args) {
        //File的构造方法
        //  \是一个转义字符,能让有意义的字符变成没意义的,能没意义的字符变成有意义的
        //System.out.println("\t");
        //System.out.println("\\a");
        //结论:在""中如果想写\   就一定要写成\\
        System.out.println( " \" ");
        //public File(String pathname)
        //给定路径名称创建File对象
        File f1 = new File("C:\\Users\\jin\\Desktop\\文件复制.java");
        //File f2 = new File("C:/Users/jin/Desktop/文件复制.java");
​
​
        //public File(String parent, String child)
        //给定父路径和子路径创建File对象
        File f2 = new File("C:\\Users\\jin\\Desktop","文件复制.java");
​
​
        //public File(File parent, String child)
        //给定父路径的File类型和子路径创建File对象
        File f4 = new File(new File("C:\\Users\\jin\\Desktop"),"文件复制.java");
        
    }
}

3、获取方法

方法介绍

方法说明
getAbsolutePath()获取绝对路径
getName()获取文件名
length()获取文件大小(不能获取目录的大小)

代码演示

import java.io.File;
public class Test02 {
    public static void main(String[] args) {
        //File的获取方法
        //创建对象
        File f = new File("C:\\Users\\jin\\Desktop\\文件复制.java");
​
        //getAbsolutePath()
        //获取绝对路径
        String s1 = f.getAbsolutePath();
        System.out.println(s1);     //C:\User\jin\Desktop\文件复制.java
​
        //getName()
        //获取文件或文件夹名
        String name = f.getName();
        System.out.println(name);   //文件复制.java
​
        //length()
        //获取文件大小(不能获取文件夹的大小)
        //如果获取文件夹的大小返回的是0或4096这个结果没有意义
        long length = f.length();
        System.out.println(length); //850 代表文件的字节个数
    }
}

4、绝对路径和相对路径

绝对路径:绝对路径就是从盘符开始的路径。

相对路径:不从盘符开始的路径,相对于当前项目。

import java.io.File;
public class Test03 {
    public static void main(String[] args) {
​
        //如果我要表示123.txt这个文件
        //路径怎么写?
​
        //相对路径:
        //不以盘符开始,系统会默认在前面补全当前项目路径
        File f1 = new File("day10\\123.txt");
        
        //绝对路径:
        File f2 = new File("C:\\soft\\IdeaProjects\\SE143\\day10\\123.txt");
        
        //这两个写法此时表示的是同一个文件
    }
}

5、判断方法

方法介绍

方法说明
exists()判断路径是否存在
isFile()判断是否是文件
isDirectory()判断是否是文件夹(目录)

代码演示

​import java.io.File;
​
public class Test04 {
    public static void main(String[] args) {
​
        File f = new File("day10\\123.txt");
​
        //exists()
        //判断路径是否存在
        System.out.println(f.exists());  //true
​
        //isFile()
        //判断是否是文件
        System.out.println(f.isFile());  //true
​
        //isDirectory()
        //判断是否是文件夹
        System.out.println(f.isDirectory()); //false
    }
}

6、创建删除方法

方法介绍

方法说明
createNewFile()创建一个文件
delete()删除一个文件或空文件夹(不能删除有文件的文件夹)
mkdir()创建单层文件夹
mkdirs()创建任意层文件夹

代码演示

import java.io.File;
import java.io.IOException;
​
public class Test05 {
    public static void main(String[] args) throws IOException {
        //File创建和删除方法
        File f = new File("C:\\Users\\jin\\Desktop\\abc");
​
        //createNewFile()
        //创建一个文件
        f.createNewFile();
​
        //delete()
        //删除一个文件或空文件夹(不能删除有文件的文件夹)
        //注意事项:删除方法不走回收站
        f.delete();
​
        //mkdir()[不用]
        //创建单层文件夹
        f.mkdir();
​
        //mkdirs()
        //创建任意层文件夹
        f.mkdirs();
    }
}

7、遍历文件夹方法

方法介绍

方法说明
list()获取目录下所有内容的名称
listFiles()获取目录下所有内容的File对象形式

代码演示

import java.io.File;
public class Test06 {
    public static void main(String[] args) {
        //File的遍历文件夹方法
​
        File f = new File("C:\\Users\\jin\\Desktop\\day09");
​
        //list()
        //获取目录下所有内容的String名称
        String[] strs = f.list();
        //遍历数组
        for (String str : strs) {
            System.out.println(str);
        }
​
​
        //listFiles()
        //获取目录下所有内容的File对象形式
        File[] files = f.listFiles();
        //遍历数组
        for (File file : files) {
            System.out.println(file.getName());
        }
    }
}

练习

统计文件夹下java文件的个数

如果只需要使用名字就可以使用list(), 如果要调用File的方法就需要使用listFiles()

import java.io.File;
public class Test07 {
    public static void main(String[] args) {
        //统计文件夹下java文件的个数
        File f = new File("C:\\Users\\jin\\Desktop\\abc");
        //定义计数器
        int count = 0;
        //遍历文件夹
        File[] files = f.listFiles();
        //遍历数组
        for (File file : files) {
            //判断是否是文件 并且是否是.java结尾
            if(file.isFile() && file.getName().endsWith(".java")){
                count++;
            }
        }
        System.out.println("java文件的个数是" + count);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值