File概述和构造方法:
package IO流.File;
/*
File:
文件和目录路径名的抽象表示。
1.文件和目录是通过File封装成对象的
2.对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。
它是可以存在的,也可以是不存在的
要通过具体的操作把这个路径的内容转换为具体存在的
构造方法:
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。
File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。
*/
import java.io.File;
public class File概述和构造方法 {
public static void main(String[] args) {
//File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File f1=new File("D:\\itcast\\java.txt");
System.out.println(f1);//D:\itcast\java.txt
//File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。
File f2=new File("D:\\itcast","java.txt");
System.out.println(f2);
// File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。
File f3=new File("D:\\itcast");
File f4=new File(f3,"java.txt");
System.out.println(f4);
}
}
D:\itcast\java.txt
D:\itcast\java.txt
D:\itcast\java.txt
File类创建功能
package IO流.File;
/*
创建功能:
boolean createNewFile()
当且仅当具有该名称的文件尚不存在时,创建一个由该抽象路径名命名的新的空文件。
boolean mkdir()
创建由此抽象路径名命名的目录。
boolean mkdirs()
创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。
*/
import java.io.File;
import java.io.IOException;
public class File类创建功能 {
public static void main(String[] args) throws IOException {
//需求1:我要在D:\\itcast目录下创建一个文件java.txt
File f1=new File("D:\\itcast\\java.txt");
System.out.println(f1.createNewFile());//创建成功显示ture,再次编译显示false,因为已经创建
//需求2:我要在D:\\itcast目录下创建一个目录java.SE
File f2=new File("D:\\itcast\\javaSE");
System.out.println(f2.mkdir());
//需求3:我要在D:\\itcast目录下创建一个多级目录javaWEB\\HTML
File f3=new File("D:\\itcast\\javaWEB\\HTML");
System.out.println(f3.mkdirs());
}
}
File删除功能
package IO流.File;
/*
File类删除功能:
public boolean delete() 删除由此抽象路径名表示的文件或目录
绝对路径和相对路径的区别
绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\\itcast\java.txt
相对路径:必须使用取自其他路径名的信息进行解释。例如:myFile\\java.txt
删除目录时的注意事项:
如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录
*/
import java.io.File;
import java.io.IOException;
public class File删除功能 {
public static void main(String[] args) throws IOException {
/* //创建java.txt文件
File f1=new File("D:\\itcast\\java.txt");
System.out.println(f1.createNewFile());
//删除java.txt文件
System.out.println(f1.delete());*/
/* File f2=new File("D:\\itcast\\itcast1");
System.out.println(f2.mkdirs());
//删除itcast目录
System.out.println(f2.delete());*/
//创建itcast,在创建java.txt文件
File f3 = new File("D:\\itcast");
System.out.println(f3.mkdir());
File f4 = new File("D:\\itcast\\java.txt");
System.out.println(f4.createNewFile());
//删除itcast: 逐个删除
System.out.println(f4.delete());
System.out.println(f3.delete());
}
}
File类判断和获取功能
package IO流.File;
/*
boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。
boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。
boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
String getPath() 将此抽象路径名转换为路径名字符串。
String getName() 返回由此抽象路径名表示的文件或目录的名称。
String[] list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
*/
import java.io.File;
public class File类判断和获取功能 {
public static void main(String[] args) {
//创建一个File对象
File f=new File("myFile\\java.txt");
System.out.println(f.isDirectory());
System.out.println(f.isFile());
System.out.println(f.exists());
System.out.println(f.getAbsolutePath());
System.out.println(f.getPath());
System.out.println(f.getName());
File f2 = new File("D:\\itcast");
String[] strArray = f2.list();
for (String str : strArray){
System.out.println(str);
}
File[] fileArray = f2.listFiles();
for (File file : fileArray){
if (file.isFile()){
System.out.println(file.getName());
}
}
}
}