一、创建File文件对象
public static void createFileTest() {
// 只是创建了java文件对象,并不等于在d盘确实有NewFile这个文件
// 第一种方式
File f1=new File("d:/NewFile");
// 输出新建文件绝对路径
System.out.println("f1绝对路径:"+f1.getAbsolutePath());
System.out.println("判断是否存在:"+f1.exists());
// 第二种方式
File f2=new File("new.exe");
// 绝对路径前面会加上项目的路径 E:\EclipseData\Text\new.exe
System.out.println(f2.getAbsolutePath());
// 第三种方式 将f1作为父目录创建文件对象
File f3=new File(f1,"new.exe");
System.out.println(f3.getAbsolutePath()); //d:\NewFile\new.exe
}
二、File文件类常用方法
private static void fileMainMethod() {
// TODO Auto-generated method stub
File f=new File("d:/NewFile/new.exe");
System.out.println(f);
// 判断文件是否存在
System.out.println(f.exists());
// 是否是文件夹
System.out.println("判断是否是文件夹:"+f.isDirectory());
//是否是文件(非文件夹)
System.out.println("判断是否是文件:"+f.isFile());
//文件长度
System.out.println("获取文件的长度:"+f.length());
//文件最后修改时间
long time = f.lastModified();
Date d = new Date(time);
System.out.println("获取文件的最后修改时间:"+d);
//文件重命名
File f2 =new File("d:/NewFile/lol.exe");
f.renameTo(f2);
// 虽然文件名进行了修改,但是原来f文件对象的名字还是new.exe
System.out.println("原来 f文件对象的名称:"+f.getName());
}
private static void fileOtherMethod() throws IOException {
File f=new File("D:/NewFile/skin/ext");
System.out.println(f.exists());
// 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
String[] fileArr=f.list();
System.out.println(fileArr.length);
System.out.println(Arrays.toString(fileArr));
// 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
File[] files=f.listFiles();
System.out.println(Arrays.toString(files));
// 以字符串形式返回所处于那个文件夹
System.out.println(f.getParent());
// 以文件形式返回获取所在文件夹
System.out.println(f.getParentFile());
// 创建文件夹,如果父文件夹skin不存在,创建就无效
f.mkdir();
// 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹
f.mkdirs();
f.createNewFile();
f.getParentFile().mkdirs();
// 列出所有的盘符c: d: e: 等等
System.out.println(Arrays.toString(f.listRoots()));
// 刪除文件
f.delete();
// JVM结束的时候,刪除文件,常用于临时文件的删除
f.deleteOnExit();
}
三、mkdir()和mkdirs()使用区别
import java.io.*;
public class TestFile {
public static void main(String[] args) throws Exception {
File f1 = new File("E://aaa//bbb");
if (!f1.exists()) {
f1.mkdirs();
}
// f1.mkdirs(); 生成所有目录
// f1.mkdir(); 必须AAA目录存在才能生成BBB目录
File f2 = new File("E://aaa//bbb//c.txt");
if (!file.exists()) {
// 不能生成目录,只能创建文件,且/aaa/bbb目录必须存在
file.createNewFile();
}
}
}