使用File类创建文件或者文件夹
boolean | createNewFile() 创建一个文件,文件不存在。文件所在的路径得存在 |
boolean | mkdir() 通过file对象创建文件夹。 |
boolean | mkdirs() 通过file对象创建多层级的文件夹 |
boolean | renameTo(File dest) 对file对象重命名和移动。 |
import java.io.File;
import java.io.IOException;
public class Demo2 {
public static void main(String[] args) throws IOException {
File file = new File("c:/aaa/1.txt");
System.out.println(file.createNewFile());
//创建一个文件夹,有的话就不会再创建了,返回false
File file2 = new File("c:/aaa/ddd");
System.out.println(file2.mkdir());
//能不能创建多层级的文件夹 能
File file3 = new File("c:/aaa/eee/fff/ggg");
System.out.println(file3.mkdirs());
File file4 = new File("c:/aaa/bbb/1.txt");
File file5 = new File("c:/aaa/100.txt");
//一定和重命名方法,移动完以后,原始文件存在了
System.out.println(file4.renameTo(file5));
}
}
删除文件或者文件夹
boolean | delete() 删除由此抽象路径名表示的文件或目录(文件夹)。 |
void | deleteOnExit() 请求在虚拟机终止时删除由此抽象路径名表示的文件或目录。 |
import java.io.File;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
File file = new File("c:/aaa/100.txt");
//删除文件,从磁盘上面删除,不会放到回收站
System.out.println(file.delete());
//程序退了才删除
File file1 = new File("c:/aaa/99.wmv");
file1.deleteOnExit();
new Scanner(System.in).nextInt();
//删除文件夹, 只能删除空的文件夹,如果文件夹中有东西删除不了
File file2 = new File("c:/aaa/ccc");
System.out.println(file2.delete());
}
}
File类几个判断方法
boolean | isAbsolute() 判断路径是否是绝对路径 |
---|---|
boolean | isDirectory() 判断是否目录(文件夹) |
boolean | isFile() 判断是否是文件 |
boolean | isHidden() 判断是否是隐藏文件 |
boolean | exists() 测试此抽象路径名表示的文件或目录是否存在。 |
import java.io.File;
public class Demo4 {
public static void main(String[] args) {
//是文件
System.out.println(new File("c:/aaa/1.txt").isFile());
System.out.println(new File("c:/aaa").isFile());//false
System.out.println(new File("c:/aaa").isDirectory());//true
System.out.println(new File("c:/aaa/1.txt").isDirectory());//false
System.out.println(new File("c:/aaa/1.txt").isHidden());//false
System.out.println(new File("c:/aaa/1.txt").isAbsolute());//true
System.out.println(new File("c:/aaa/8888.txt").exists());//false
}
}
返回值是String类型的方法
String | getName() 返回由此抽象路径名表示的文件或目录的名称 |
---|---|
String | getParent() 返回此抽象路径名的父 null 的路径名字符串,如果此路径名未命名为父目录,则返回null。 |
String | getPath() 将此抽象路径名转换为路径名字符串。 |
String | getAbsolutePath() 返回此抽象路径名的绝对路径名字符串 |
import java.io.File;
public class Demo5 {
public static void main(String[] args) {
File file = new File("c:/aaa/1.txt");
System.out.println(file.getName());
System.out.println(file.getParent());//c:/aaa
//c:\aaa\1.txt
System.out.println(file.getPath());//完整的文件路径
File file2 = new File("./");
//通过相对路径获取对应的绝对路径
System.out.println(file2.getAbsolutePath());
}
}
返回值是Long类型的一些方法
long | length() 返回由此抽象路径名表示的文件的长度。 |
---|---|
long | lastModified() 返回此抽象路径名表示的文件上次修改的时间。 |
import java.io.File;
public class Demo6 {
public static void main(String[] args) {
//获取文件的字节数
File file = new File("c:/aaa/1.txt");
System.out.println(file.length());
//1641802255357
//从1970年的1月1日的0时0分0秒到咱们这个文件修改时间
//2022年1.10 16:10
//之间 一个毫秒数
System.out.println(file.lastModified());
}
}
文件列表方法
static File[] | listRoots() 列出可用的文件系统根。 |
---|---|
String[] | list() 返回一个字符串数组,由此抽象路径名表示的文件夹中的文件和目录。 |
import java.io.File;
public class Demo7 {
public static void main(String[] args) {
File file = new File("C:\\Program Files\\Java\\jdk1.8.0_241");
//获取当前文件夹对象下面的所有的文件和文件夹的名字
String[] listStrings = file.list();
for (String string : listStrings) {
System.out.println(string);
}
System.out.println("=========");
//打印的可用的磁盘的根目录对象
File[] files = File.listRoots();
for (File file2 : files) {
System.out.println(file2);
}
}
}