对于IO流中File类的总结
File类的基本概念
File类只能用于完成对于文件属性(是否存在、可读性、长度)的一些操作,不能用于文件的访问。
File类的对象
File类的对象存储的是文件的绝对路径,其实仔细想想这样很合理,因为对象只要不重写toString方法输出的都是对象的地址,我的理解是将对象看作一个真正的文件,那么绝对路径就是该文件的地址。
import java.io.File;
import java.io.IOException;
public class Demo3 {
public static void main(String[] args) throws IOException{
File file=new File("C:\Users\Lenovo\Desktop\123.txt"); //创建一个文件对象
if(!file.exists()) {
file.createNewFile();
System.out.println("创建完毕");
}
System.out.println(file);
}
}
// 结果:C:UsersLenovoDesktop123.txt
判断一个文件是否存在
通过public boolean exists()方法根据返回值进行判断文件是否存在
在文件存在的情况下
通过public boolean isDirectory()方法根据返回值判断对象是否表示一个目录。
通过public boolean isFile()方法根据返回值判断对象是否表示一个文件。
创建一个文件
对于文件的创建我们最好是通过if语句判断一下该文件是否存在,防止我们文件已经存在,但我们又重新创建了一个路径相同的文件,这样就会覆盖掉原来的文件。
当我们判断文件不存在时,通过public boolean creatNewFile()方法来创建一个文件,返回值与文件的存在性一致。
创建一个目录
对于单级目录的创建我们可以通过public boolean mkdir()的方法来完成
对于多级目录的创建我们可以通过public boolean mkdirs()的方法来完成
返回值是文件创建的成功与否。
删除文件
通过public boolean delete()的方法可以完成对于文件的删除
返回值为删除的成功与否
当我们删除的对象是一个目录时,若该目录为空目录则可以删除,否则无法删除。
目录操作
import java.io.File;
import java.io.IOException;
public class Demo3 {
public static void main(String[] args) throws IOException{
File file=new File("C:\Users\Lenovo\Desktop"); //创建一个文件对象
String[] s=file.list();
File[] ss=file.listFiles();
for (String string : s) { //方法1
System.out.println(string);
}
System.out.println("------------------");
for (File string : ss) { //方法2
System.out.println(string);
}
File[] sss=file.listFiles();
System.out.println("------------------");
for (File string : sss) { //方法3
System.out.println(string);
}
}
}