纯css打造立体时钟
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
By_jie

145_IO_File_常用方法_文件夹操作

一、创建目录

  1、public boolean mkdir() 创建此抽象路径名(必须保证这个父路径存在)指定的目录。当且仅当已创建目录时,返回 true;否则返回 false

  2、public boolean mkdirs() 创建此抽象路径名指定的目录树,包括所有必需但不存在的父目录。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。 当且仅当已创建目录以及所有必需的父目录时,返回 true;否则返回 false

二、创建文件夹演示示例

package edu.aeon.io;

import java.io.File;

/**
 * [说明]:测试创建目录
 * @author aeon
 * 1、mkdir 创建此抽象路径名(必须保证这个父路径存在)指定的目录。
 * 2、mkdirs 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。
 */
public class TestMkDir {

    public static void main(String[] args) {
        //注意:b:/test/这个父路径必须存在 且要创建的自身目录(此处为test)不存在时、mkdir()这个方法才能创建成功!
        String path="b:/test/test";
        File file1=new File(path);
        boolean flag=file1.mkdir();
        System.out.println("创建"+(flag?"成功!":"失败!"));
        //测试使用mkdirs()创建目录树、当目录层的所有文件夹存在时(包括要创建的自身目录,此处为p)则不继续创建
        path="b:/test/test/test/test/test/test/p";
        File file2=new File(path);
        flag=file2.mkdirs();
        System.out.println("创建"+(flag?"成功!":"失败!"));
    }

}

测试结果截图:

  

  

三、遍历所指定文件下所有目录和文件

  比如此处我们遍历b盘test文件夹下有那些目录和文件

  程序示例:  

package edu.aeon.io;

import java.io.File;
import java.io.FilenameFilter;

/**
 * [说明]:测试遍历指定目录下的子(孙)目录和子(孙)文件
 * @author aeon
 */
public class TestMkDir {
    /**
     * [说明]:遍历指定path下的子目录和子文件(不包括孙级目录和文件)
     * @param path
     */
    public static void test1(String path){
        File file=new File(path);
        if(file.isDirectory()){ //如果是个文件夹、则遍历出该文件夹下的所有目录及文件
            String subName[]=file.list();
            for(String temp:subName){
                System.out.println(temp);
            }
        }
    }
    /**
     * [说明]:遍历指定path下的子目录对象和子文件对象(不包括孙级目录和文件)
     * @param path
     */
    public static void test2(String path){
        File file=new File(path);
        if(file.isDirectory()){
            File [] files=file.listFiles();
            for(File f:files){
                System.out.println(f.getAbsolutePath());
            }
        }
    }
    /**
     * [说明]:筛选指定目录下的指定文件
     * @param path
     */
    public static void test3(String path){
        File file=new File(path);
        if(file.isDirectory()){
            File[] files=file.listFiles(new FilenameFilter() {
                
                @Override
                public boolean accept(File dir, String name) {
                    //这里的dir就代表file这个对象有些文件夹也可以以.java后命名、此处要过滤掉
                    //如果这个是文件、且文件名以.java结束
                    return new File(dir,name).isFile()&&(name.endsWith(".java")||name.endsWith(".txt"));
                }
            });
            for(File f:files){
                System.out.println(f.getName());
            }
        }
    }
    /**
     * 遍历所指定路径下的所有目录及文件(包括所有子孙级目录及文件)
     * @param path
     */
    public static void test4(String path){
        File file=new File(path);
        if(null==file||!file.exists()){ //如果文件不存在
            return;
        }
        if(file.isDirectory()){
            File[] files=file.listFiles();
            for(File f:files){
                test4(f.getAbsolutePath());
                System.out.println(f.getAbsolutePath());
            }
        }
    }
    public static void main(String[] args) {
        //遍历b盘test文件夹下有哪些子目录和子文件
        String path="b:/test";
        test1(path);
        System.out.println("==============");
        test2(path);
        System.out.println("===============");
        test3(path);
        System.out.println("================");
        test4(path);
    }
}

结果截图: 

 

 

 

 

 

   

posted @ 2018-11-29 21:12  1024军团  阅读(180)  评论(0编辑  收藏  举报