前言:主要介绍IO包下的File类中的常用方法。
实例一:
/*
java.io.File;
1.File类和流无关,不能通过该类完成文件的读和写.
2.File是文件和目录路径名的抽象表示形式
File代表的是硬盘上的Directory和file
*/
import java.io.*;
public class Test01
{
public static void main(String[] args) throws Exception{
//path相对路径
File f1 = new File("Test01.java");
File f2 = new File("D:\\course\\JavaProjects\\02-JavaSE\\chapter08\\File\\Test01.java");
File f3 = new File("D:/course");
System.out.println(f1.exists()); //true
System.out.println(f2.exists()); //true
System.out.println(f3.exists()); //true
File f4 = new File("C:/TT");
System.out.println(f4.exists()); //false
//如果不存在创建
if(!f4.exists()){
//创建目录
//f4.mkdir();
//创建文件
f4.createNewFile();
}
File f5 = new File("c:/a/b/c/d/e/f/g");
if(!f5.exists()){
//创建多重目录
f5.mkdirs();
}
}
}
实例二:
import java.io.*;
import java.util.*;
import java.text.*;
public class Test02
{
public static void main(String[] args){
//1.获取绝对路径
File f1 = new File("Test02.java");
String absolutePath = f1.getAbsolutePath();
System.out.println(absolutePath);
//2.获取文件名
System.out.println(f1.getName()); //Test02.java
//3.获取父路径
File f2 = new File("D:\\course\\JavaProjects\\02-JavaSE\\chapter08");
String parentPath = f2.getParent();
System.out.println(parentPath); //D:\\course\\JavaProjects\\02-JavaSE
//4.判断该File是Directory还是File
System.out.println(f1.isDirectory()); //false
System.out.println(f1.isFile()); //true
//5.获取文件最后一次修改时间.
Date t = new Date(f1.lastModified());
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(t));
//6.获取文件的长度(字节数)
System.out.println(f1.length());
//7.列出子文件
File f3 = new File("D:\\course\\JavaProjects\\02-JavaSE\\chapter08");
File[] fs = f3.listFiles();
//遍历
for(File f:fs){
//System.out.println(f.getAbsolutePath());
if(f.getAbsolutePath().endsWith(".java")){
System.out.println(f.getAbsolutePath());
}
}
}
}
实例三:
/*
使用递归,找出某目录下得所有子目录以及子文件.
*/
import java.io.*;
public class Test03
{
public static void main(String[] args){
//D:/course
File f = new File("D:/course");
//调用方法完成查找
method1(f);
}
public static void method1(File f){
if(f.isFile()){
return;
}
//f有两种可能,f可能是文件,也可能是目录
//先当做目录
File[] fs = f.listFiles();
for(File subF:fs){
System.out.println(subF.getAbsolutePath());
method1(subF);
}
}
}