欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

File类

程序员文章站 2022-06-16 21:18:22
...
  • 1、 File类

    • 理解: File类是java.io包下代表与平台(操作系统)无关的文件和目录(文件夹)
    • 功能: 对文件和目录的操作(新建、删除、改名、获得目录下的内容、文件的大小、文件的各种路径) 访问不到文件的内容
  • 2、 构造器(对象如何生成)

    • new File(String pathname); //根据文件或目录的路径去创建File类对象
      • a. 绝对路径(从盘符开始的路径)
        •  File file=new File("D:\\demo\\test.txt");   
          
      • b. 相对路径(相对于当前项目的路径)
        •  File file=new File("test.txt");   从当前项目下开始寻找test.txt
          
        • new File(File parentFile, String child);根据父级的目录对象+文件的字符串名称,构建的File类对象
        • new File(String parent, String child);根据父级的路径+文件的路径,构建的File类的对象
  • 3、 有哪些方法

    • ① 获取文件和目录基本信息的方法
      • file.getName();//获得文件名
      • file.length();//获得文件的内容长度(字节)
      • file.lastModified();//获得最后一次修改的时间:毫秒数
      • file.getPath();//返回路径字符串
      • file.getAbsolutePath();//返回绝对路径
      • file.getCanonicalPath();//返回规范路径(规范路径中会处理掉…/)
      • file.listFiles();//返回当前目录下的所有子目录和文件
    • ②判断信息
      • file.exists();//判断文件或路径是否存在
      • file.isFile();//判断是否是文件 (必须存在)
      • file.isDirectory();//判断是否是目录
      • file.isAbsolute();//判断是否是用绝对路径创建的对象
      • file.canRead();//是否可读
      • file.canWrite();//是否可写
      • file.isHidden();//是否隐藏
    • ③ 文件和目录的创建和删除
      • file.createNewFile();//只能新建文件(要保证file对象的目录的路径是必须存在的)
      • file.mkdir();//只能创建一级
      • file.mkdirs();//创建多级目录
      • file.delete();//删除文件或目录
        删除文件,直接删除
        删除目录,只能删除空目录
        • 删除目录(无论里面是否有内容)
        •  //对于里面有内容的文件夹不能直接删除,需要递归遍历先将里面的内容删掉
           public class Test {
              public static void main(String[] args) {
                  File file = new File("F:\\demo1\\demo2\\demo3");
                  if (file.exists()){
                      delete(file);
                      System.out.println("删除成功");
                  }else {
                      System.out.println("文件不存在");
                  }
              }
              public static void delete(File files){
                  File[] list = files.listFiles();
                  //如果当前目录下为空,直接删除该目录(文件的返回值也为空)
                  if(list == null){
                      files.delete();
                  }else {
                  	//遍历所有子目录
                      for (File file : list) {
                          delete(file);
                          //将子目录删光后删除当前目录
                          files.delete();
                      }
                  }
              }
          }
          
    • ④ 获取父级信息
      • file.getParent();//返回当前对象的父级路径(String)
        • File file=new File("d:\\demo\\aaa");
          String parent = file.getParent;
          System.out.println(parent); //d:\demo
          
      • file.getParentFile();//获得当前当前对象的父级对象
相关标签: File类