Java学习笔记——File类

1.File类

File类的对象可以代表文件/文件夹,并可以调用其提供的方法对象文件进行操作

  • 创建File类对象
构造器说明
public File(String pathname)根据文件路径创建文件对象
public File(String parent, String child)根据父路径和子路径创建文件对象
public File(File parent, String child)根据父路径对应文件和子路径名字创建文件对象

Tips:
a. File对象既可以代表文件、也可以代表文件夹
b. File封装的对象仅仅是一个路径名,这个路径可以是存在的,也允许是不存在的

1.1 创建File类对象,去获取某个文件的信息

import java.io.File;

public class FileDemo1 {
    public static void main(String[] args) {
        File f1=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test1");
        System.out.println(f1.getName());//文件名
        System.out.println(f1.exists());//检查文件或者目录是否存在
        System.out.println(f1.length());//显示字节个数
    }
}

在这里插入图片描述

1.2 可以使用相对路径定位文件对象

  • 绝对路径:只要带盘符的都称之为绝对路径
  • 相对路径:不带盘符,默认到你的idea工程下直接寻找文件,一般用来找工程目录下的文件
import java.io.File;

public class FileDemo1 {
    public static void main(String[] args) {
        //绝对路径
        System.out.println("---------绝对路径-----------");
        File f1=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test1");

        System.out.println(f1.getName());//文件名
        System.out.println(f1.exists());//检查文件或者目录是否存在
        System.out.println(f1.length());//字节个数

        //使用相对路径定位文件夹
        System.out.println("---------相对路径-----------");
        File f2=new File("src\\com\\fqw\\filedemo1\\test1");
        System.out.println(f2.getName());//文件名
        System.out.println(f2.exists());//检查文件或者目录是否存在
        System.out.println(f2.length());//字节个数
    }
}

在这里插入图片描述

1.3 创建对象代表不存在的文件路径

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

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        File f1=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test2");
        System.out.println(f1.exists());//检查文件是否存在
        System.out.println(f1.createNewFile());//把这个文件创建出来,创建成功返回true
    }
}

在这里插入图片描述

1.4 创建对象代表不存在的文件夹路径

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

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        File f2=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test");
        System.out.println(f2.mkdir());//创建文件夹,成功返回true,mkdir只能创建一级文件夹

        File f3=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\aaa\\test2\\test3");
        System.out.println(f3.mkdirs());//创建文件夹,成功返回true,mkdirs可以创建多级文件夹
    }
}
  • mkdir只能创建一级文件夹
  • mkdirs可以创建多级文件夹

在这里插入图片描述

1.5 创建File对象代表存在的文件和文件夹,然后删除它

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

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        File f1=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test.txt");
        System.out.println(f1.createNewFile());//把这个文件创建出来,创建成功返回true

        File f2=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test1");
        System.out.println(f2.mkdir());//创建文件夹,成功返回true,mkdir只能创建一级文件夹


        //删除文件
        File f3=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test.txt");
        System.out.println(f3.delete());

        //删除文件夹
        File f4=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\filedemo1\\test1");
        System.out.println(f4.exists());
        System.out.println(f4.delete());//只能删除空文件夹
    }
}

Tips:delete方法只能删除文件和空文件夹,删除后的文件不会进入回收站

在这里插入图片描述

1.6 File提供的遍历文件夹的方法

public String[] list()   //获取当前目录下所有的“一级文件名称”到一个字符串数组中返回
public File[] listFiles() //获取当前目录下所有的“一级文件对象”到一个对象数组中去返回
import java.io.File;

public class FileDemo3 {
    public static void main(String[] args) {
        File f1=new File("C:\\Users\\fengqiaowei\\IdeaProjects\\untitled\\src\\com\\fqw\\MapDemo1");
        String[] names=f1.list();
        for(String name:names){
            System.out.println(name);
        }
        File[] files=f1.listFiles();
        for(File file:files){
            System.out.println(file.getAbsolutePath());
        }
    }
}

在这里插入图片描述
Notes:使用listFiles方法时的注意事项

  • 当主调是文件时,或者路径不存在,返回null
  • 当主调是空文件时,返回一个长度为0的数组
  • 当主调是一个有内容的文件夹时,将里面所有一级文件夹的路径放在File数组中返回
  • 当主调是一个文件夹,且里面有隐藏文件时,将里面所有文件和文件夹的路径放在File数组中中返回,包含隐藏文件
  • 当主调是一个文件夹,但没有权限访问该文件夹时,返回null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值