创建文件对象
使用绝对路径和相对路径创建文件对象
在硬盘上,有文件和文件夹
在java中,统一用file这个类来代表文件和文件夹
· 使用绝对路或者相对路径创建File对象
import java.io.File;
public class TestFile {
public static void main(String[] args) {
// 绝对路径,完整的路径
File f1= new File("D:/CloudMusic");
System.out.println("f1的绝对路径:"+f1.getAbsolutePath());
// 相对路径,相对于工作目录,在idea中,就是项目目录
File f2 =new File("测试.txt");
System.out.println("f2的绝对路径:" + f2.getAbsolutePath());
// 把f1作为父目录创建文件对象
File f3 = new File(f1, "测试.txt");
System.out.println("f3的绝对路径:" + f3.getAbsolutePath());
}
}
文件常用方法1:
判断文件是否存在;
判断是否是文件夹;
判断是否是文件;
获取文件的长度(默认单位为byte字节,与KB,MB,GB,TB之间的换算关系为1024倍,即1024byte=1KB);
获取文件最后的修改时间(此数字是系统时间长整数,从1970.1.1 08:00:00开始计时,每过一秒钟增加1);
文件的重命名;
**注意:**需要在D:\CloudMusic确实存在一个测试.txt文件,才可以看到对应的文件长度、修改时间等信息。
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("d:/CloudMusic/测试.txt");
System.out.println("当前文件是:"+file);
//文件是否存在
System.out.println("判断是否存在:"+file.exists());
//是否是文件夹
System.out.println("是否是文件夹:"+file.isDirectory());
//是否是文件(非文件夹)
System.out.println("判断是否是文件:"+file.isFile());
//文件长度
System.out.println("获取文件的长度:"+file.length());
//文件最后修改时间
long t = file.lastModified();
System.out.println("获取文件最后的修改时间:"+t);
//设置文件修改时间为1970.1.1 08:00:00
file.setLastModified(0);
//文件重命名
File f2 =new File("D:/CloudMusic/DOTA.exe");
file.renameTo(f2);
System.out.println("把测试.txt改名成了DOTA.exe");
System.out.println("注意: 需要在D:\\CloudMusic确实存在一个测试.txt,\r\n才可以看到对应的文件长度、修改时间等信息");
}
}
文件常用方法2:
file.list()
以字符串数组的形式,返回当前文件夹下的所有文件(返回的仅仅是文件名,不包含子文件及子文件夹);
file.listFiles()
以文件数组的形式,返回当前文件夹下的所有文件(返回的是目录下所有文件的完整路径,不包含子文件夹及子文件);
file.getParent()
以字符串的形式返回获取所在文件夹(类型为String);
file.getParentFile()
以文件的形式返回获取所在文件夹(类型为File);
file.mkdir()
创建文件夹,如果父文件夹不存在,创建就无效;
file.mkdirs()
创建文件夹,如果父文件夹不存在,就会创建父文件夹(创建一个完整的路径)
file.createNewFile()
创建一个空文件,如果父类文件夹不存在,就会抛出异常;
file.getParentFile().mkdirs();
所以在创建一个空文件之前,都会创建父目录,先获取父文件夹,然后再创建完整路径;
file.delete();
删除文件
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) throws IOException {
File f = new File("C:\\Users\\Administrator");
// 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
String[] list = f.list();
for (String s : list) {
System.out.println("文件名:"+s);
}
// 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
File[]fs= f.listFiles();
for (File file : fs) {
System.out.println("文件数组:"+file);
}
// 以字符串形式返回获取所在文件夹
System.out.println("所在文件夹(String形式)"+f.getParent());
// 以文件形式返回获取所在文件夹
System.out.println("所在文件夹(File形式)"+f.getParentFile());
// 创建文件夹,如果父文件夹skin不存在,创建就无效
f.mkdir();
// 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹
f.mkdirs();
// 创建一个空文件,如果父文件夹skin不存在,就会抛出异常
f.createNewFile();
// 所以创建一个空文件之前,通常都会创建父目录
f.getParentFile().mkdirs();
// 列出所有的盘符c: d: e: 等等
f.listRoots();
// 刪除文件
f.delete();
// JVM结束的时候,刪除文件,常用于临时文件的删除
f.deleteOnExit();
}
}