1.概述
File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作。
注:file的构造方法比较灵活,可以根据具体的需要选择使用。
2.常用构造方法
public File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。 public File(String parent,String child):从父路径名字符串和子路径名字符串创建新的File实例。 public File(File parent,String child):从父抽象路径名和子路径名字符串创建新的File实例。
示例:
package File;
import java.io.File;
public class Test1 {
public static void main(String[] args) {
File f1=new File("C:/aa/hello.txt"); //f1就代表了这个文件
File f2=new File("C:/aa","hello.txt");
File file=new File("C:/aa");
File f3=new File(file,"hello.txt");
}
}
3.功能方法
File类常用功能:
(1)isFile():判断是否为文件
System.out.println(f1.isFile()); //判断是否为文件
System.out.println(f3.isFile());
(2)isexists():判断文件是否存在
System.out.println(f1.exists()); //判断该文件或者文件夹是否存在 System.out.println(f2.exists());
System.out.println(f3.exists());
(3)isDirectory():判断是否为文件夹
System.out.println(f1.isDirectory()); //判断是否为文件夹
System.out.println(f3.isDirectory());
(4)getAbsolutePath():获取文件的绝对路径
String absolutePath1 = f1.getAbsolutePath();
String absolutePath2 = f2.getAbsolutePath();
System.out.println("文件的绝对路径"+absolutePath1); //绝对磁盘路径
System.out.println("文件的绝对路径"+absolutePath2); //绝对磁盘路径
(5)getPath():返回文件路径
String path1 = f1.getPath();
String path2 = f2.getPath();
System.out.println("文件定义的路径"+path1); //定义的时候的文件路径名
System.out.println("文件定义的路径"+path2); //定义的时候的文件路径名
(6)getName():获取文件或目录的名称
String name1 = f1.getName();
String name2 = f2.getName();
String name3 = f1.getName();
System.out.println("文件名称"+name1);
System.out.println("文件名称"+name2);
System.out.println("文件名称"+name3);
(7)getParent():获取父路径
String parent1 = f1.getParent();
String parent2 = f1.getParent();
String parent3 = f1.getParent();
System.out.println("父路径"+parent1);
System.out.println("父路径"+parent2);
System.out.println("父路径"+parent3);
(8)lenght:获取文件的长度
long length = f1.length();
System.out.println("文件的大小"+length);
4.创建删除功能方法
public boolean createNewFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
File f1=new File("c:/aa/bb/bb.txt");
File f2=new File("c:/aa/aa.txt");
//1.目录结构不存在,程序异常.
//2.目录结构存在且文件不存在则创建空文件夹
//3.目录结构存在且文件存在不做任何操作
f1.createNewFile();
f2.createNewFile();
public boolean delete():删除由此File表示的文件或目录。
File f3=new File("c:/xx");
File f4=new File("c:/xx/yy");
File f5=new File("c:/xx/yy/zz");
//删除映射的文件或目录对象,父目录不会删除
f2.delete();
f5.delete();
public boolean mkdir():创建由此File表示的目录.
public boolean mdkdirs():创建由此File表示的目录,包括任何必须但不存在的父目录。
File f3=new File("c:/xx");
File f4=new File("c:/xx/yy");
File f5=new File("c:/xx/yy/zz");
//mkdir创建单个文件夹,mkdirs自动补全所有的目录结构,推荐使用mkdirs
f3.mkdir();
f4.mkdirs();
f5.mkdirs();
练习:在c盘创建一个a.txt的文件,要求把文件存放在c盘中的aa/bb/cc的目录中
package File;
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
File f1=new File("C:/aa/bb/cc");
File f2=new File(f1,"a.txt");
f1.mkdirs();
f2.createNewFile();
}
}