一,概述
文件和目录是可以通过File封装成对象的
对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的
二,构造方法
File(String pathname)示例:File file=new File(C:\\data\\test.txt)
通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
File(String parent,String child)示例:File file=new File(C:\\data,test.txt)
从父路径名字符串和子路径名字符串创建新的File实例
File(File parent, String child)示例:File file1=new File(C:\\data) 示例:File file2=new File(file1,test.txt)
从父抽象路径名和子路径名字符串创建新的File实例
(个人钟情第一种)
三,常用方法
createNewFile() | 创建文件,如果文件存在创建失败 |
mkdir() | 创建单级目录,不能创建多级目录,如果目录存在创建失败,不能创建文件 |
mkdirs() | 创建多级目录,如果目录存在创建失败 |
isDirectory() | 测试此抽象路径名表示的File是否为目录 |
isFile() | 测试此抽象路径名表示的File是否为文件 |
exists() | 测试此抽象路径名表示的File是否存在 |
getAbsolutePath() | 返回此抽象路径名的绝对路径名字符串 |
getPath() | 将此抽象路径名转换为路径名字符串 |
getName() | 返回由此抽象路径名表示的文件或目录的名称 |
list() | 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组 |
listFiles() | 返回此抽象路径名表示的目录中的文件和目录的File对象数组 |
delete() | 删除文件或者目录,当目录里面有文件时无法直接删除 |
针对这些方法我做了练习
import java.io.File;
public class FileTest {
public static void main(String[] args) {
File f1=new File("C:\\data");
System.out.println(f1.isDirectory());
System.out.println(f1.isFile());
File f2=new File("C:\\data\\test1.txt");
System.out.println(f2.exists());
// 获得绝对路径
System.out.println(f2.getAbsolutePath());
// 将此抽象路径名转换为路径名字符串,File对象里的是什么它就得到什么,这里正好File里是绝对路径
System.out.println(f2.getPath());
// 只得到最后一级目录名称或者File对象指向的文件的名字
System.out.println(f1.getName());
System.out.println("---------------");
// 它返回的数组的元素是字符串
for(String f:f1.list()){
System.out.println(f);
}
System.out.println("---------------");
// 它返回的数组的元素是File对象
for(File f:f1.listFiles()){
System.out.println(f);
}
}
}
运行结果