美文网首页
Java I/O 输入输出流(三)—— 遍历目录

Java I/O 输入输出流(三)—— 遍历目录

作者: itczt | 来源:发表于2019-05-21 11:41 被阅读0次

    遍历目录

    我们看一下File类复杂一点的使用,可以写一个工具类,File类的过滤操作:

    FileUtils,java

    //列出File的一些常用操作比如过滤,遍历等操作

    public class FileUtils{
    /*
     *列出指定目录下(包括其子目录)的所用文件
     */
        public satic void listDirectory(File dir)throws IOEception(
           if(!dir.exists()){
           //exists()方法用于判断文件或目录是否存在
           throe new IllegalArgnumentException("目录:"+dir+"不存在");
           }
           if(!dir.isDirectory())
           throw new IllegalArgnumentException(dir+"不是目录");
        }
          /*
           *列出他的子目录
           */
          String() filenames = dir.list()
          //返回的是字符串数组,直接子的名称不包含子目录的内容
          for(String string:filenames){
          System.out.println(dir+"\\"+string);
        //打印一下看看它返回的是什么
        }
    

    list()方法用于列出当前目录下的子目录和文件
    如果是遍历子目录下的内容就需要构造成File对象做递归操作,File提供了直接返回File对象API。


      File[] files = dir.listFiles();//返回的是直接子目录的抽象
       for (File file : files){
           System.out.println(file);
        }
    

    if(files != null && files.length > 0){
      for(File file: files){
        if(file.isDirectory()){
         //递归
         listDirectory(file);
       }else(
         System.out.println(file)
        )
      }
     }
    }
      }
    

    这样它就会列出所有的内容,包括子目录下的内容。

    下面再来写一个测试类

    FileUtilTest.java

    punlic class File(ltilTest){
       public ststic void main(String args) throws IOException{
          FileUtils.listDirctory(new File("E:\\exanple"));
      }
    }
    

    相关文章

      网友评论

          本文标题:Java I/O 输入输出流(三)—— 遍历目录

          本文链接:https://www.haomeiwen.com/subject/tfjhzqtx.html