Java IO流 序列二:File类

2File API

2.1. File类简介

包路径java.io.File

功能:用于表示文件或者目录。

说明File类只用于表示文件(目录)的信息(名称,大小),不能用于文件的访问

2.2 创建/删除目录

File file = new File("E:\\aa\\bb");

     if(!file.exists())

         file.mkdir();

     else

         file.delete();

说明:创建多级目录可以使用file.mkdirs();

判断是否是目录

//判断是否是目录

     if(path.isDirectory())

         System.out.println("这是一个目录");

     else

         System.out.println("这不是一个目录");

创建文件也是一样的方法

private static void createFile() throws Exception {

         File file = new File("C:\\a\\test.txt");

         boolean flag;

         if(!file.exists()){

              flag = file.createNewFile();

              System.out.println("文件创建成功");

         }else{

              flag = file.delete();

              System.out.println("文件删除成功");

         }

        

         //判断是否是文件

         if(file.isFile())

              System.out.println("这是一个文件");

         else

              System.out.println("这不是一个文件");

     }

2.3 File类常用API

private static void normalAPI() {

         File file = new File("c:\\QQ.txt");

         //输出文件路径

         System.out.println(file); //输出 c:\QQ.txt

         System.out.println(file.getAbsolutePath());//输出 c:\QQ.txt

        

         //文件名称

         System.out.println(file.getName());//输出 QQ.txt

        

         //父目录

         System.out.println(file.getParent());//输出 c:\

     }

更多的用法可以查询API

 

2.4 列出目录

/**

      * 列出指定目录(包括子目录)下的所有文件

      */

     public static void listDirs(File dir) throws Exception{

         if(!dir.exists()){ //目录是否存在

              throw new IllegalArgumentException("目录:" + dir + "不存在");

         }

         if(!dir.isDirectory()){ //是不是目录

              throw new IllegalArgumentException(dir + "不是目录!");

         }

         //列出目录下的文件名和目录名

         String[] dirList = dir.list();

         for (String s : dirList) {

              System.out.println(dir + "\\" + s);

         }

     }

说明:该函数返回的是某个目录下的所有的目录名称和文件名称。但不包含子目录下的文件

2.5 遍历子目录

/**

      * 列出指定目录(包括子目录)下的所有文件

      */

     public static void listDirs(File dir) throws Exception{

         if(!dir.exists()){ //目录是否存在

              throw new IllegalArgumentException("目录:" + dir + "不存在");

         }

         if(!dir.isDirectory()){ //是不是目录

              throw new IllegalArgumentException(dir + "不是目录!");

         }

        

         File[] listFiles = dir.listFiles();

         if(listFiles !=null && listFiles.length>0){

              for (File file : listFiles) {

                   if(file.isDirectory()){

                       //递归

                       file.listFiles();

                   }else{

                       System.out.println(file);

                   }

              }

         }

     }

 

 

 

你可能感兴趣的:(Java IO流 序列二:File类)