File类的介绍
文件(file): 文件用来存储数据。
路径(path): 表示计算机中的一个位置,这个位置可以是文件夹,也可以是文件。
在Java中,有一个类叫做File,这个类可以表示【计算机中的文件或文件夹】
注意,File这个单词本意是文件的意思,但是在Java中,不仅仅可以表示文件,还可以表示文件夹。我们可以通过File类的方法对文件或文件夹进行操作。
相对路径和绝对路径
绝对路径: 是一个非常详细的路径, 绝对路径是从盘符开始的。 比如: D:\demo\HelloWorld.java
相对路径: 是一个简短的路径, 相对路径不是从盘符开始的, 相对路径在idea中指的是当前项目下的内容。 比如:Demo.java
File的构造方法
File类的构造方法:
- File(String pathname): 根据一个字符串的路径创建一个File对象。这个路径可以是文件,也可以是文件夹。
- File(String parent, String child): 根据父路径和子路径组合创建一个File对象。
HelloWorld.java文件路径:D:\demo\HelloWorld.java
HelloWorld.java父路径:D:\demo\
HelloWorld.java子路径:HelloWorld.java
- File(File parent, String child): 根据父路径和子路径组合创建一个File对象。
- File表示计算机中一个文件或文件夹, 这个文件或文件夹可以是存在的,也可以是不存在的。
File类的获取的方法
File类中用于获取的方法
- String getAbsolutePath(): 用于获取File对象所表示的绝对路径。
- String getPath(): 获取File对象所表示的路径。
- String getName(): 获取File对象表示的文件或文件夹的名字。
- long length(): 获取File对象所表示的文件的字节数大小。不能获取文件夹的大小,如果File对象表示的是文件夹,那么调用length方法得到的是一个不确定的结果。
如果在创建File对象的时候构造方法中写的是相对路径,调用getPath得到的就是相对路径
如果在创建File对象的时候构造方法中写的是绝对路径,调用getPath得到的就是绝对路径
File类的判断方法
File类的判断方法:
- boolean exists(): 判断File对象所表示的文件或文件夹是否存在。
- boolean isDirectory(): 判断是否是一个文件夹
- boolean isFile(): 判断是否是一个文件
File类的创建方法
File类中的创建方法
- boolean createNewFile(): 创建一个文件, 如果文件已存在,那么创建失败。 如果创建成功返回true,否则返回false。
- boolean mkdir(): 创建一个文件夹, 如果文件夹已经存在,那么创建失败。 如果创建成功返回true,否则返回false。
- boolean mkdirs(): 创建一个文件夹, 如果文件夹已经存在,那么创建失败。 如果创建成功返回true,否则返回false。
- mkdir只能创建单级目录, mkdirs可以创建多级目录。
- boolean mkdirs(): 创建一个文件夹, 如果文件夹已经存在,那么创建失败
注意: 如果使用mkdirs创建文件时, 上级目录不存在,那么就会一起创建上级目录。 - boolean mkdir(): 创建一个文件夹, 如果文件夹已经存在,那么创建失败。注意: 如果创建文件时,上级目录不存在,那么会创建失败,但是不会报错。
- boolean createNewFile(): 创建一个文件, 如果文件已存在,那么创建失败。 注意: 如果创建文件时,上级目录不存在,那么就会创建失败。并且会抛出异常。
File类的删除方法
File类中的删除方法
boolean delete(): 删除File对象所表示的文件或文件夹, 如果删除成功返回true。
File中的delete方法如果删除的是文件夹,只能删除空文件夹。
使用delete方法删除的内容不走回收站
File类的遍历的方法
用于遍历的方法:
- String[] list(): 获取指定目录下的所有文件和文件夹,并放入到字符串数组中返回。
- File[] listFiles(): 获取指定目录下所有的文件和文件夹, 并放入到File数组中返回。
注意:
- 如果File对象表示的是一个文件,那么调用listFiles得到的结果是一个null值。
- 如果File对象表示的内容在计算机中不存在,那么调用listFiles得到的结果也是一个null值
- 如果File对象表示的文件夹中没有任何内容,那么调用listFiles得到的结果是一个空数组。