1.File
1.1 File类概述和构造方法
File: 它是文件和目录路径名的抽象表示
- 文件和目录是可以通过File封装成对象的
- 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以存在,也可以不存在。将来是要通过具体的操作把这个路径的内容转换为具体存在的。
File file1 = new File("D:\\文档1\\毛概.docx");
System.out.println(file1);
File file2 = new File("D:\\文档1","毛概.docx");
System.out.println(file2);
File file3 = new File("D:\\文档1");
File file4=new File(file3,"test.txt");
System.out.println(file4);
1.2 File类创建功能
- public boolean createNewFile(); 当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件
- public boolean mkdir(); 创建由此抽象路径命名的目录(文件夹)
- public boolean mkdirs(); 创建由此抽象路径命名的目录,包括任何必需但不存在的父目录
public static void main(String[] args) throws IOException {
//需求1:在D:\\itcast目录下创建一个文件java.txt
File file1 = new File("D:\\itcast\\java.txt");
System.out.println(file1.createNewFile());//若文件已经存在,则返回false
System.out.println("-------------------------");
//需求2:在在D:\\itcast目录下创建一个目录javaSE
File file2 = new File("D:\\itcast\\javaSE");
System.out.println(file2.mkdir());
System.out.println("-----------------------");
//需求3:在D:\\itcast目录下创建一个多级目录JavaWEB\\HTML
File file3 = new File("D:\\itcast\\JavaWEB\\HTML");
System.out.println(file3.mkdirs());
System.out.println("-------------------");
//需求4:在D:\\itcast目录下创建一个文件javase.txt
File file4= new File("D:\\itcast\\javase.txt");
System.out.println(file4.createNewFile());
}
1.3 File类判断和获取功能
- public boolean isDirectory(); 测试此抽象路径名表示的File是否为目录
- public boolean isFile(); 测试此抽象路径名表示的File是否为文件
- public boolean exists(); 测试此抽象路径名表示的File是否存在
- public String getAbsolutePath(); 返回此路径名的绝对路径名字符串
- public String getPath(); 将此抽象路径名转化为路径名字符串
- public String getName(); 返回由此抽象路径名表示的文件或目录的名称
- public String[] list(); 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
- public File[] listFiles(); 返回此抽象路径名表示的目录中的文件和目录的File对象数组。
public static void main(String[] args) {
File file1=new File("D:\\itcast\\java.txt");
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.exists());
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getPath());
System.out.println(file1.getName());
System.out.println("------------------------------------");
File file2=new File("D:\\itcast\\javaSE");
String[] list = file2.list();
for(String i:list)
System.out.print(i+"\t");
System.out.println();
File[] listFiles = file2.listFiles();
for(File file:listFiles) {
/*
* if(file.isFile()) System.out.print(file.getName()+"\t"); else
* System.out.println(file);
*/
System.out.println(file.getName());
}
}
1.4 File类删除功能
public boolean delete(); 删除由此抽象路径名表示的文件或目录
File f1 = new File("D:\\itcast\\demo04.txt");
System.out.println(f1.createNewFile());
System.out.println( f1.delete());
1.5 案例
1.遍历目录
需求:给定一个路径(D: \\ itcast ),请通过递归完成遍历该目录下的所有内容,并把文件的绝对路径输出在控制台。
public static void main(String[] args) {
File file1=new File("D:\\itcast");
getPath(file1);
}
public static void getPath(File file) {
File[] listFiles = file.listFiles();
if(listFiles!=null) {
for(File f:listFiles) {
if(f.isDirectory()) {
getPath(f);
}
else
System.out.println(f.getAbsolutePath());
}
}
}