一.File类

该类主要用于文件和目录的创建、文件的查找和文件的删除等。

  • 创建文件
//1.创建文件对象,在此注意,对象的创建和路径无关
File file=new File("D:/myfile");

//2.判断文件目录是否存在
file.exists();

//3.创建文件,成功返回true,本来就存在则返回false
file.createNewFile();
  • 创建目录
//1.创建目录对象(同文件)
File file=new File("D:/myfile");

//2.创建目录
file.mkdir();
  • 文件和目录的空间大小获得
//1.获取文件大小
file.length();

//2.获取单个目录大小是没有直接的方法的,我们只能获得目录所在盘符的大小,如果非要获取单个目录大小,则需要遍历才可以。
file.getTotalSpace();
file.getUsableSpace();
file.getFreeSpace();
  • 文件和目录的其他方法
File file=new File("绝对路径或相对路径");
//1.获取名字
file.getName();

//2.最后修改时间
long time=file.lastModified();//这个返回的是毫秒数
Date date=new Date(time);
SimpleDateFormate sdf=new SimpleDateFormate("YYYYMMDD");
String s=sdf.formate(date);

//3.获得目录的子文件或子文件夹,返回值为List
file.listFiles();
  • 一个小练习,某公司面试题,给出一个目录,打印这个目录下的所有文件
public static void printFiles(file root){
      for(File f:root.listFiles()){//此处用到了上述方法
             if(f.isFile())      syso(f.getName());  //getName()方法
             else  printFile(f);             //继续调用  
      }  
}
public static void printFile(File root,int level){
      StringBuffer sb=new StringBuffer();
      for(int i=1;i<level;i++) sb.append("     ");  
      for(File f:root.listFiles()){
            syso(sb.append(f.getName));
            if(f.isDirectory())   printFile(f,level+1);
      }
}