26.IO学习——File类

来源:互联网 发布:php微信h5支付demo 编辑:程序博客网 时间:2024/06/05 03:52

File类(重点):

1.概述
   用于描述文件或者文件夹的对象,一定提供了
  操作文件或者文件夹的方法。

2.常用方法
    示例1:
          File f=new File("file.txt");
   //可以创建子目录
          File fzimulu=new File("File\\a\\b\\v\\d\\d");
   //1.判断其存在
          boolean b=f.exists();
         //创建。如果该文件不存在,则创建,如果存在,则不创建
    booleanb=f.createNewFile();
   //删除,不通过回收站,直接删除
    booleanb=f.delete();
          //创建文件夹
   f.mkdr();
   //判断是否是文件夹或者文件
   f.isDirectory();
   f.isFile();
    示例2:
         //获取
 File file=new File("demo.txt");
       file.getAbsolutePath();//绝对路经
 file.getPath();//当前路径
 file.getParent();//父目录名
 file.getName();//文件名
 file.getFreeSpace();//所在硬盘的剩余空间
 file.getlastModified();//最后修改时间
 file.length();//字节长度
    
    示例3:list();
              //File类中的list()
  File file=newFile("C:\\Users\\Administrator\\Desktop\\近期计划");
  //目录不存在或者目录为文件,返回names为null,所以先判断
  if(file.exists() &&file.isDirectroy())
    String[]names=file.list();

  for(String name :names)
  {
   System.out.println(name);
  }

    示例4:list(filenamefilter)
      //获取指定目录下的扩展名为.java的文件
      方法1:
               1)创建接口Filenamefilter
  2)实现
  File file=newFile("E:\\java");
  FilenameFilter filter=newguolvhouzhui(".txt");
  String[]names=file.list(filter);
  for(String name:names)
  {
   System.out.println(name);
  }
      方法2:
               //用listFiles()和listFiles(FilenameFilter filter)
        File file=new File("E:\\java");
  File[]files=file.listFiles();
   for(File fil:files)
        {
   System.out.println(fil.getName());
  }

3.列出目录包含子目录的内容(递归实现)
       public static void listAll(File dir)
  //获得目录下的子目录
 
  File[]files=dir.listFiles();
  for(File file:files)
    {
   if(file.isDirectory())
   {
    listAll(file);
   }
   else
    System.out.println(file);
  }
        }

4.删除一个有内容的目录(递归)
  思路:   先删除里面的内容才可以删除文件夹
       所以需要对文件夹进行包含子目录的遍历
   实现:
    publicstatic void removeDir(File dir)
    {
     File[] files=fir.listFiles();
     for(File file : files)
     {
       if(file.isDirectory())
 {
   removeDir(file);
 }
 else
 {
   //删除文件内容
   file.delete();
 }
     }
     //删除文件夹
     dir.delete();
    }


5.递归
   递归是自身调用自身
   注意:1)一定要定义条件
         2)要控制递归次数
    示例:
     
     public static int getSum(int num)
     {
       if(num==1)
       {
          return 1;
        }
        return num+getSum(num-1);
     }
         
   
  

小记:
  流操作的是文件中的数据,而不可以操作文件;

0 0
原创粉丝点击