> 文档中心 > JAVA了解File类----->看这篇就够了

JAVA了解File类----->看这篇就够了

目录

File类概述

File类的常用API

1.File类的判断文件类型、获取文件信息功能

2.创建文件、删除文件功能

3.遍历文件夹


File类概述

  • File类在包java.io.File下、代表操作系统的文件对象(文件、文件夹)。
  • File类提供了诸如:定位文件,获取文件本身的信息、删除文件、创建文件(文件夹)等功能。

File类创建对象

public File​(String pathname)

根据文件路径创建文件对象

public File​(String parent, String child)

从父路径名字符串和子路径名字符串创建文件对象

public File​(File  parent, String child)

根据父路径对应文件对象和子路径名字符串创建文件对象

File对象可以定位文件和文件夹 File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的。

File类作用:创建对象定位文件,可以删除、获取文件信息等。但是不能读写文件内容。

File类构建对象的方式 : File file = new File(“文件/文件/绝对路径/相对路径”);

  • 绝对路径是带盘符的,依赖当前系统。
  • 相对路径是不带盘符的,默认相对到工程下开始寻找文件。

File类的常用API

1.File类的判断文件类型、获取文件信息功能

public boolean isDirectory()

测试此抽象路径名表示的File是否为文件夹

public boolean isFile()

测试此抽象路径名表示的File是否为文件

public boolean exists()

测试此抽象路径名表示的File是否存在

public String getAbsolutePath()

返回此抽象路径名的绝对路径名字符串

public String getPath()

将此抽象路径名转换为路径名字符串

public String getName()

返回由此抽象路径名表示的文件或文件夹的名称

public long lastModified()

返回文件最后修改的时间毫秒值

import java.io.File;import java.text.SimpleDateFormat;public class FileTest1 {    public static void main(String[] args) { //1.创建File对象------File创建对象支持绝对路径和相对路径----可以是文件也可以是文件夹 File f = new File("D:\\JAVA图片.jpg"); //文件是否存在 System.out.println("是否存在:"+f.exists()); //文件字节大小 System.out.println("字节大小:"+f.length()); //获取绝对路径 System.out.println("绝对路径:"+f.getAbsoluteFile()); //获取定义文件时所使用的路径 System.out.println("定义文件时所使用的路径:"+f.getPath()); //获取文件的名字 System.out.println("名字:"+f.getName()); //获取文件的最后修改时间 long time = f.lastModified(); System.out.println("最后修改时间:"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time)); //判断是文件还是文件夹 System.out.println("是文件吗:"+f.isFile()); System.out.println("是文件夹吗:"+f.isDirectory());     }}

 

2.创建文件、删除文件功能

创建

public boolean createNewFile()

创建一个新的空的文件

public boolean mkdir()

只能创建一级文件夹

public boolean mkdirs()

可以创建多级文件夹

删除

public boolean delete​()

删除由此抽象路径名表示的文件或空文件夹

delete方法默认只能删除文件和空文件夹,默认不能删除非空文件夹; delete方法直接删除不走回收站;

import java.io.File;import java.io.IOException;public class FileTest2 {    public static void main(String[] args) throws IOException { //在test文件夹下进行操作 File f1 = new File("D:\\test\\a1.txt"); //创建新文件,成功true,否则false System.out.println(f1.createNewFile()); //mkdir 创建一级目录 File f2 = new File("D:\\test\\a2"); System.out.println(f2.mkdir()); //mkdirs 创建多级级目录 File f3 = new File("D:\\test\\a3\\a31\\a32"); System.out.println(f3.mkdirs()); //删除文件或空文件夹 System.out.println(f1.delete()); System.out.println(f2.delete()); System.out.println(f3.delete());    }}

3.遍历文件夹

File类的遍历功能

public String[] list()

获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。

public File[] listFiles()(常用)

获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点)

注意:

  • 当调用者不存在时,返回null 当调用者是一个文件时,返回null
  • 当调用者是一个空文件夹时,返回一个长度为0的数组
  • 当调用者是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回
  • 当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏内容
  • 当调用者是一个需要权限才能进入的文件夹时,返回null
import java.io.File;public class FileTest3 {    public static void main(String[] args) { //一个文件夹 File f = new File("D:\\test"); String[] names = f.list(); //遍历输出文件夹名字 for (String name: names)     System.out.println(name); //目录文件夹不存在----null File f1= new File("D:\\testttt"); String[] names1 = f1.list(); System.out.println(names1);    }}