File对象:表示一个文件或文件夹的路径,这个路径可以不存在。
public File(String pathname) 根据文件路径创建文件对象
public File(String parent, String child) 根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象
创建File对象方法如下,运行后系统显示文件路径:
方法一:
import java.io.File;
public class Main{
public static void main(String[] args) {
/*public File(String pathname) 根据文件路径创建文件对象
public File(String parent, String child) 根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象
*/
//1.根据字符串表示的路径变成File对象
String str = "C:\\Users\\DELL\\Desktop\\1.txt";
File f1 = new File(str);
System.out.println(f1);
}
}
方法二:
//2.父级路径:"C:\Users\DELL\Desktop"
// 子级路径:"1.txt"
String parent = "C:\\Users\\DELL\\Desktop";
String child = "1.txt";
File f2 = new File(parent,child);
System.out.println(f2);
方法三:
//3.父级路径:"C:\Users\DELL\Desktop"
// 子级路径:"1.txt"
String parent = "C:\\Users\\DELL\\Desktop";
File f1 = new File(parent);
String child = "1.txt";
File f2 = new File(f1,child);
System.out.println(f2);
File常见成员方法:
①判断/获取的方法
方法名称 | 说明 |
boolean isDirectory() | 判断此路径名表示的File是否为文件夹 |
boolean isFile() | 判断此路径名表示的File是否为文件 |
boolean exists() | 判断此路径名表示的File是否存在 |
long length() | 获取文件的大小(字节数量) |
String getAbsolutePath() | 返回文件的绝对路径 |
String getPath() | 返回定义文件时使用的路径 |
String getName() | 返回文件的名称,带后缀 |
long lastModified() | 返回文件的最后修改时间(时间毫秒值) |
用法:
import java.io.File;
public class Main{
public static void main(String[] args) {
//对一个文件进行判断:
File f1 = new File("C:\\Users\\DELL\\Desktop\\1.txt");
System.out.println(f1.isDirectory());//判断f1是否为文件夹
System.out.println(f1.isFile());//判断f1是否为文件
System.out.println(f1.exists());//判断f1是否存在
System.out.println(f1.length());//获取文件的大小
System.out.println(f1.getAbsolutePath());//返回文件的绝对路径
System.out.println(f1.getName());//返回文件的名称,带后缀
}
}
运行结果:
false
true
true
776
C:\Users\DELL\Desktop\1.txt
1.txt
进程已结束,退出代码0
②创建/删除的方法
方法名称 | 说明 |
boolean createNewFile() | 创建一个新的文件 |
boolean mkdir() | 创建单级文件 |
boolean mkdirs() | 创建多级文件 |
boolean delete() | 删除文件、空文件夹(不走回收站) |
用法:
import java.io.File;
import java.io.IOException;
public class Main{
public static void main(String[] args) throws IOException {
//对一个文件进行判断:
File f1 = new File("C:\\Users\\DELL\\Desktop\\1.txt"); //桌面上本来没有1.txt文件的
boolean b = f1.createNewFile(); //b返回是否成功创建文件,可能会出现异常,故提前抛出
boolean c = f1.mkdir(); //只能创建单极文件夹
File f2 = new File("C:\\Users\\DELL\\Desktop\\aaa\\bbb\\ccc"); //桌面上本来没有1.txt文件的
boolean c = f2.mkdirs(); //能创建嵌套的多极文件夹,也可以创建单级文件夹
boolean e = f2.delete(); //删除f2文件
}
}
②获取/遍历的方法
方法名称 | 说明 |
public File[ ] listFiles() | 获取当前该路径下所有内容 |
用法:
import java.io.File;
import java.io.IOException;
public class Main{
public static void main(String[] args) {
File f1 = new File("C:\\Users\\DELL\\Desktop\\a文件");
//listFiles方法:获取a文件里的所有内容,把所有内容放入数组中返回
File[] files = f1.listFiles();
for(File file : files){
//file依次表示a文件夹里面的每一个文件或文件夹
System.out.println(file);
}
}
}
运行结果:
C:\Users\DELL\Desktop\a文件\新建文件夹
C:\Users\DELL\Desktop\a文件\新建文本文档 (2).txt
C:\Users\DELL\Desktop\a文件\新建文本文档.txt
此外,还有listRoots() , list() ,listFiles(FileFilter filter)...等方法,不做重点掌握。