File相关(建立文件及目录)

当前目录下建立文件createNewFile()或目录mkdir();删除文件和目录(用到递归)  delete();建立多级目录 mkdirs();获取目录中的子项 File[] subs = dir.listFiles(); 文件过滤器筛选文件 File[] subs = dir.listFiles(filter);。java

import java.io.File;spa

import java.io.FileFilter;        .net

import java.io.IOException;

/**
 * File相关       
 * @author  Romanceling
 *
 */
public class FileTest {
    public static void main(String[] args) throws IOException {
        /*
         *
        /*
         * boolean exists()
         * 判断File表示的文件或目录是否真实存在
         */
        if(!file.exists()){
            //建立该文件
            file.createNewFile();
            System.out.println("建立完毕!");
        }
对象

       /*
         * 删除test.txt文件
         */
        if(file.exists()){
            file.delete();
            System.out.println("删除完毕!");
        }
递归

        /*
         * 在当前目录下建立一个目录(路径)demo
         */
get

        File dir = new File("demo");
        if(!dir.exists()){
            //建立一个目录
            dir.mkdir();
            System.out.println("建立完毕!");
        }
it

        //删除一个目录io

        if(dir.exists()){
            /*
             * 使用delete删除目录时,必须保证该
             * 目录是一个空目录(不含有任何子项)
             * 才能够将其删除.
             */
            dir.delete();
            System.out.println("删除完毕!");
        }
class

      /**删除多级目录
     * 删除给定的File对象表示的文件或目录
     * 此时须要用到递归
     */
*    public static void delete(File file){
*        if(file.isDirectory()){    //若是是目录
*            //先删除该目录中全部内容
*           File[] subs = file.listFiles();
*           for(File sub : subs){
*               delete(sub);    //递归
test

*         }

*         file.delete();    //文件或者空的目录能够直接删除

*    }

     */   

        /*
         * 在当前目录下建立一个多级目录:
         * a/b/c/d/e/f
         */
        File dir = new File(
            "a"+File.separator+      //File.separator 表明"/"(Linux系统中)    或"\"(Windows系统中)
            "b"+File.separator+
            "c"+File.separator+
            "d"+File.separator+
            "e"+File.separator+
            "f"
        );
        if(!dir.exists()){
            /*
             * mkdirs在建立当前目录的同时会将
             * 其全部不存在的父目录一同建立出来
             */
            dir.mkdirs();
            System.out.println("建立完毕!");
        }

        /*
         * 获取当前目录中的全部内容
         */
        File dir = new File(".");
        //获取一个目录中的全部子项
        File[] subs = dir.listFiles();
        
        for(File sub : subs){
            if(sub.isFile()){
                System.out.print("文件:");
            }else{
                System.out.print("目录:");
            }
            System.out.println(sub.getName());
        }

        /*
         * 配合过滤器(自定义类MyFilter),获取当前目录下全部名字以"."开头的子项
         */
        File dir = new File(".");
        MyFilter filter = new MyFilter();
        /*
         * 重载的listFiles方法返回的子项是知足给定
         * 过滤器要求的子项,其余则被忽略
         */
        File[] subs = dir.listFiles(filter);
        for(File sub : subs){
            System.out.println(sub.getName());
        }    

        /*也能够用匿名内部类的方式简写文件过滤器(FileFilter)

*        File dir = new File(".");
*        FileFilter filter = new FileFilter(){
*            public boolean accept(File file){
*                return file.isFile();
*            }
*        };
*        File[] subs = dir.listFiles(filter);

    */

    }
}


/**
 * 使用文件过滤器(FileFilter)获取一个目录中知足条件的子项
 *
 */

class MyFilter implements FileFilter{     /**      * 过滤条件:名字是以"."开头的      */     public boolean accept(File file) {         String name = file.getName();         System.out.println("正在过滤:"+name);         return name.startsWith(".");     } }  

相关文章
相关标签/搜索