javaSE文件的使用

1.

package com.io.File;

import java.io.*;

import java.util.Date;

public class UseFile {



    /**

     * 一些File的用法

     * @param args

     * @throws IOException 

     */

    public static void main(String[] args) throws IOException {

        // TODO Auto-generated method stub

        File dir1=new File("D:\\dir1");

        if(! dir1.exists()){

            dir1.mkdir();

        }

        File dir2=new File(dir1,"dir2");

        if(! dir2.exists()){

            dir2.mkdirs();

        }

        

        File dir4=new File(dir1,"dir3\\dir4");

        if(!dir4.exists()){

            dir4.mkdirs();

        }

        

        File file=new File(dir2,"text.txt");

        if(!file.exists()){

            file.createNewFile();

        }

        listDir(dir1);

        deleteDir(dir1);

    }

    //查看目录的信息

    public static void listDir(File dir){

        File[] lists=dir.listFiles();

        

        //打印当前目录下包含所有子目录和文件的名字

        String info="目录:"+dir.getName()+"(";

        for(int i=0;i<lists.length;i++){

            info+=lists[i].getName()+" ";

        }

        info+=")";

        System.out.println(info);

        

        //打印当前目录下的所有的子目录和文件的详细信息

        for(int i=0;i<lists.length;i++){

            File f=lists[i];

            if(f.isFile()){

                System.out.println("文件: "+f.getName() +" canRead:"+f.canRead()+" lastModified:"+new Date(f.lastModified()));

                

            }else{

                listDir(f);

            }

        }

    }

    

    public static void deleteDir(File file){

        //如果file代表文件 就会删除

        if(file.isFile()){

            file.delete();

            return;

        }

        

        //如果是文件目录,就先删除目录下的所有子目录和文件

        File[] lists=file.listFiles();

        for(int i=0;i<lists.length;i++){

            deleteDir(lists[i]);  //递归删除当前目录下的所有子目录的文件

        }

        

        //最后删除当前目录

        file.delete();

    }



}





2.

package com.io.File;

import java.io.*;

public class UserFileNameFilter {



    /**获得某个路径下的 .txt 文件

     * @param args

     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        File dir1=new File("c:/");

        

        FilenameFilter filter=new FilenameFilter() {

            

            public boolean accept(File dir, String name) {

                // TODO Auto-generated method stub

                System.out.println("根路径: "+dir.getPath()+" 子路径:"+name);

                File currFile=new File(dir,name);

                if(currFile.isFile() && name.indexOf(".txt")!=-1){

                    return true;

                }

                else{

                    return true;

                }

            }

        };

        

        String[] lists=new File("C:/").list(filter);

        for(String list : lists){

            System.out.println(list);

        }

    }



}

 

你可能感兴趣的:(JavaSE)