JAVA_IO_File常用操作_文件夹操作(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40646143/article/details/84056609
名称分隔符 \ (window)  / (linux 等)

mkdir 创建目录  必须确定当前目录的父目录 存在  如果不存在则 创建失败

mkdirs 创建目录 当父目录链不存在的时候 一同创建

delete 删除文件

createNewFile 不存在创建文件  如果文件存在则返回false(一般与 exists() 联合使用判断文件是否存在)

createTempFile 创建临时文件

deleteOnExit 删除临时文件及退出

list 获取当前目录文件名称列表 return String []数组

listFiles 获取当前目录文件列表 return File [] 数组

listFiles(FilenameFilter fileName) 过滤当前目录的文件列表

  listRoots 静态方法获取你本地的所有盘符

如下

        String path = "E:/jianli7472";
        File file = new File(path);
        //mkdir 创建目录  必须确定当前目录的父目录 存在  如果不存在则 创建失败
        //file.mkdir();
        //mkdirs 创建目录 当父目录链不存在的时候 一同创建
       // file.mkdirs();

        if (file.isDirectory()){ //存在并且为目录
            System.out.println("####子目录||文件");
            String[] list = file.list();
            List<String> asList = Arrays.asList(list);
            asList.stream().forEach(System.out::println);


            System.out.println("####子目录||文件  file对象");
            File[] files = file.listFiles();
            for (File file1 : files) {
                System.out.println(file1.getAbsolutePath());
            }
            System.out.println("#####子目录||文件 输出.htm对象");
            File[] listFiles = file.listFiles(new FilenameFilter() {
                /**
                 *
                 * @param dir  当前的file目录
                 * @param name
                 * @return
                 */
                @Override
                public boolean accept(File dir, String name) {
                    return new File(dir,name).isFile() && name.endsWith(".htm");
                }
            });
            for (File file1:listFiles) {
                System.out.println(file1);
            }

        }

需求 : 递归求出路径下面的所有文件

package com.hp.io;

import java.io.File;
import java.util.Arrays;
import java.util.List;

public class Demo3 {
    public static void main (String[] args) {
        File file = new File("E:\\jianli7472");

       // fileName(file);

        //静态方法 获取你的盘符
        File[] files = File.listRoots();
        System.out.println(Arrays.toString(files));
    }

    public static void fileName(File file){
        if (file==null || !file.exists()){
            return;
        }
        //获取当前目录所有文件
        List<File> list = Arrays.asList(file.listFiles());
        for (File file1:list) {
            //-判断是否为目录 如果是目录继续递归循环
            if (file1.isDirectory()){
                System.out.println(file1.getAbsolutePath());
                fileName(file1);
            }
        }

    }
}

猜你喜欢

转载自blog.csdn.net/qq_40646143/article/details/84056609