File类概述
File类的静态成员变量
public class FileStaticMethod {
public static void main(String[] args) {
String pathSeparator = File.pathSeparator;
System.out.println(pathSeparator); //结果为;(windows),:(linux)
String separator = File.separator;
System.out.println(separator); // 结果为\(windows),/(linux)
}
}
绝对路径和相对路径
File类的构造方法
1.File(String pathname)
public class PathName {
public static void main(String[] args) {
method();
}
public static void method() {
File f1 = new File("C:\\com.learning\\t.txt");
System.out.println(f1);
File f2 = new File("C:\\com.learning");
System.out.println(f2);
File f3 = new File("t.txt");
System.out.println(f3);
}
}
2.File(String parent,String child)
public class PathName {
public static void main(String[] args) {
method();
}
public static void method() {
File f1 = new File("C:\\","t.txt");
System.out.println(f1); //C:\t.txt
}
}
3.File(File parent,String child)
public class PathName {
public static void main(String[] args) {
method();
}
public static void method() {
File f1 = new File("C:\\");
File f2 = new File(f1,"t.txt");
System.out.println(f2);
}
}
File类获取功能的方法
1.getAbsolutePath
File f1 = new File("t.txt");
File absoluteFile = f1.getAbsoluteFile();
System.out.println(absoluteFile); //C:\Users\hasee\IdeaProjects\2021.5.8-code\t.txt绝对路径
2.getPath(toString实际调用的方法)
File f1 = new File("t.txt");
String path = f1.getPath();
System.out.println(path); //t.txt
String s = f1.toString();
System.out.println(s); //t.txt
3.getName
File f2 = new File("C:\\com\\learning\\t.txt");
String name = f2.getName();
System.out.println(name); //t.txt
3.length
public class FileLength {
public static void main(String[] args) {
File f1 = new File("E:\\WeChat\\wechatweb.exe");
long length = f1.length();
System.out.println(length); //1196024
File f2 = new File("E:\\WeChat\\2.jpg");
long length2 = f2.length();
System.out.println(length2); //0,路径不存在
File f3 = new File("E:\\WeChat");
long length3 = f3.length();
System.out.println(length3); //这里数值为49152,看来并不是文件夹就是0,待定
}
}
File类判断功能的方法
1.exists
File f1 = new File("E:\\WeChat\\wechatweb.exe");
System.out.println(f1.exists());
2.isDirectory和isFile
File f1 = new File("E:\\WeChat\\wechatweb.exe");
if(f1.exists()) {
System.out.println(f1.isDirectory());
System.out.println(f1.isFile());
}
File类创建删除功能的方法
1.creatNewFile
File f1 = new File("E:\\WeChat\\123.txt");
boolean newFile = f1.createNewFile();
System.out.println(newFile);
ps:不要被名称迷惑,要看类型
2.mkdir和mkdirs
File f1 = new File("E:\\WeChat\\aa");
boolean mkdir = f1.mkdir();
System.out.println(mkdir);
File f2 = new File("E:\\WeChat\\aa\\bb");
boolean mkdirs = f2.mkdirs();
System.out.println(mkdirs);
3.delete
File f1 = new File("F:\\aa");
boolean delete = f1.delete();
System.out.println(delete);
File类遍历文件夹(目录)功能
1.List
File f1 = new File("F:\\迅雷下载");
String[] list1 = f1.list();
for (String s : list1) {
System.out.println(s);
}
File f2 = new File("F:\\12563"); //路径不存在,空指针异常
String[] list2 = f2.list();
for (String s : list2) {
System.out.println(s);
}
File f3 = new File("F:\\迅雷下载\\新建文本文档"); //文件路径,空指针异常
String[] list3 = f3.list();
for (String s : list3) {
System.out.println(s);
}
2.listFiles
File f3 = new File("F:\\迅雷下载"); //文件路径,空指针异常
File[] list3 = f3.listFiles();
for (File s : list3) {
System.out.println(s); //直接打印为toString方法,而前面我们说过调用toString就是调用Path即完整路径
}