关于File类中常用方法的使用:
1、FIle类直接继承于Object,和四大流家族没有关系,所以File类不能完成文件的读和写。
2、File对象是什么?
是文件和目录路径名的抽象表示形式。
一个File对象有可能对应的是目录,也可能对应的是文件。
3、File类中常用的方法:
测试代码:
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test01 {
public static void main(String[] args) {
// 实例File对象,参数为路径名
//File file = new File("F:\\fileTest");
// 判断路径名是否存在
//boolean b = file.exists();
//System.out.println(b); // false
// 如果路径名不存在,则以文件的形式创建
/*if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}*/
// 如果路径不存在,则以目录的方式创建
/*if (!file.exists()) {
file.mkdirs();
}*/
// 也可以创建多重目录
/*File file1 = new File("F:\\a\\b\\c\\d");
if (!file1.exists()) {
file1.mkdirs();
}*/
// 我们指定本工程下的IOtest\file,这是一个确实存在的,相对路径
File file2 = new File("IOtest\\file");
// 获取文件名,就是结尾的那个文件名
String fileName = file2.getName();
System.out.println(fileName); // file
// 获取文件路径,就是实例化对象时,填进去的那个路径名
String filePath = file2.getPath();
System.out.println(filePath); // IOtest\file
// 判断是否是一个目录
System.out.println(file2.isDirectory()); // true
// 判断是否是一个文件
System.out.println(file2.isFile()); // false
// 判断是否是一个绝对路径
System.out.println(file2.isAbsolute()); // false
// 获取file2的父路径,返回String类型
String parentPath = file2.getParent();
System.out.println(parentPath); // IOtest
// 获取父路径,返回File类型
File parentFile = file2.getParentFile();
// File类重写了toString()方法
System.out.println(parentPath); // IOtest
// 获取绝对路径,返回String类型
String absolutePath = file2.getAbsolutePath();
System.out.println(absolutePath); // F:\JavaCode\JavaSE\IOtest\file
// 获取绝对路径,返回File类型
File absoluteFile = file2.getAbsoluteFile();
System.out.println(absoluteFile); // F:\JavaCode\JavaSE\IOtest\file
// 获取最后的修改时间,返回long类型,是1970午夜整 到 最后修改的总毫秒数
long ms = file2.lastModified();
System.out.println(ms); // 1595395623081
// 我们应该把总毫秒数化成时间Date类型
Date lastModifiedTime = new Date(ms);
System.out.println(lastModifiedTime); // Wed Jul 22 13:27:03 CST 2020
// 当然你也可以用SimpleDateFormat进一步格式化时间对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
System.out.println(sdf.format(lastModifiedTime)); // 2020-07-22 13:27:03 081
// 当然你也可以重新设置最后修改的时间,需指定毫秒数
//file2.setLastModified(ms); // 只是这个时间你必须算出来是多少毫秒
// 获取File的大小,返回long型总字节数。注意:如果File是目录,返回0,如果是文件,返回字节数
long len = file2.length();
System.out.println(len); // 0
// 获取所有的子类File
File[] files = file2.listFiles();
for (File f : files) {
// 打印名字和大小
System.out.print(f.getName() + "-" + f.length() + " "); // test01-0 test02.txt-14 test03.txt-14
}
System.out.println();
// 重命名,参数是File类型对象
//File reFile = new File("IOtest\\file01");
//file2.renameTo(reFile);
// 删除该文件或目录
//file2.delete();
}
}