java.io.File表示文件或目录名的抽象表示形式
File是在内存中的对象
构造方法
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri)
通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
常用方法
public static void main(String[] args) throws Exception {
File file = new File("1.txt");
System.out.println("可执行"+file.canExecute());
System.out.println("可读"+file.canRead());
System.out.println("可写"+file.canWrite());
System.out.println("是否隐藏"+file.isHidden());
System.out.println("是一个文件"+file.isFile());
System.out.println("是一个文件夹"+file.isDirectory());
System.out.println("文件的大小"+file.length());
System.out.println("最后修改时间"+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(file.lastModified())));
//修改最后访问时间
file.setLastModified(0);
System.out.println("最后修改时间"+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(file.lastModified())));
System.out.println("文件的绝对路径"+file.getAbsolutePath());
System.out.println("文件的名字"+file.getName());
//删除文件,删除文件夹时要求是一个空文件夹
file.delete();
//创建文件
System.out.println(new File("2.txt").createNewFile());
//file.mkdir(),创建文件夹,要求父文件夹必须存在
//file.mkdirs(),创建文件夹,如果父文件夹不存在会直接创建不存在的父文件夹
System.out.println(new File("3").mkdir());
System.out.println("当前file的父文件名字"+new File("E:\\test\\Fengzhuang\\1.txt").getParent());
System.out.println("当前file的父文件对象"+new File("E:\\test\\Fengzhuang\\1.txt").getParentFile());
//System.out.println("当前file的子文件名字
String[] arr = new File("E:\\test\\Fengzhuang\\1.txt").list();
//System.out.println("当前file的子文件对象
File[] files = new File("E:\\test\\Fengzhuang\\1.txt").listFiles();
}
递归
//递归计算阶乘
private static int test2(int i) {
int k = 1;
if(i>1) {
k = test2(i-1);
}
k = k*i;
return k;
}
//递归盖塔
private static void test1(int i) {
if(i>=1) {
test1(i-1);
System.out.println(i);
}
}
//递归遍历文件夹
private static void test(File file) {
File[] files = file.listFiles();
if(files==null || files.length==0){
System.out.println(file.getAbsolutePath());
}else {
for (File file2 : files) {
test(file2);
}
}
}
//递归删除文件夹
private static void test(File file) {
File[] files = file.listFiles();
if (files != null && files.length > 0) {
for (File file2 : files) {
test(file2);
}
}
file.delete();
}