File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入 / 输出流。想要在 Java 程序中表示一个真实存在的文件或目录,那么必须要有一个 File 对象,但是 Java 程序中的一个 File 对象,可能没有一个真实存在的文件或目录
目录
File类的使用
1. File 类的一个对象,代表一个文件或一个文件目录()文件夹
2. Flie 类声明在 java . io 包下
3. File 类中涉及到文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用 IO 流来完成
4. 后续 File 类的对象常会作为参数传递到流的构造器中,指明读取或写入的 “终点”
File类的实例化
相对路径:相对于某个路径下,指明的路径
绝对路径:包含盘符在内的文件或文件目录的路径
windows:\\
unix:/
import org.junit.Test;
import java.io.File;
public class FileTest {
@Test
public void test() {
//构造器1
File file1 = new File("hello.txt"); //相对于当前 module
File file2 = new File("D:\\IDEACode\\DailyTest\\src\\FileTest\\hello.txt");
//构造器2
File file3 = new File("D:\\IDEACode");
//构造器3
File file4 = new File(file3,"hello.txt");
}
}
File类的常用方法
注:创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下
Java 中的删除不走回收站
获取功能 | public String getAbsolutePath() | 获取绝对路径 |
public String getPatth() | 获取路径 | |
public String getName() | 获取名称 | |
public String getParent() | 获取上层文件目录路径,若无则返回 null | |
public long length() | 获取文件长度(字节数),不能获取目录的长度 | |
public long lastModified() | 获取最后一次的修改时间,毫秒值 | |
public String [ ] list() | 获取指定目录下的所有文件或者文件目录的名称数组 | |
public File [ ] listFile() | 获取指定目录下的所有文件或者文件目录的 File 数组 | |
重命名功能 | public boolean renameTo (File dest) | 把文件重命名为指定的文件路径 |
判断功能 | public boolean isDirectory() | 判断是否是文件目录 |
public boolean isFile() | 判断是否是文件 | |
public boolean exists() | 判断是否存在 | |
public boolean canRead() | 判断是否可读 | |
public boolean canWrite() | 判断是否可写 | |
public boolean isHidden() | 判断是否隐藏 | |
创建功能 | public boolean createNewFile() | 创建文件。若文件存在,则不创建,返回 false |
public boolean mkdir() | 创建文件目录,如果此文件目录存在,则不创建。如果此文件目录的上层目录不存在,也不创建 | |
public boolean mkdirs() | 创建文件目录。如果上层文件目录不存在,一并创建 | |
删除功能 | public boolean delete() | 删除文件或文件夹 |
import org.junit.Test;
import java.io.File;
public class FileTest {
@Test
public void test() {
//注意:renameTo() 要想保证返回 true,需要 file1 在硬盘中是存在的,而 file2 不能在硬盘中存在
File file1 = new File("hi.txt");
File file2 = new File("D:\\code\\h.txt");
boolean renameTo = file1.renameTo(file2);
System.out.println(renameTo);
}
}
>>> true