常用方法(文件夹操作)

时间:2022-07-22
本文章向大家介绍常用方法(文件夹操作),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

方法名称

方法作用

mkdir()

创建目录(如目录树中有文件夹不存在就不创建)

mkdirs()

创建目录树

list()

返回String[]类型的子目录、子文件名

listFile()

File[]类型的子目录、子文件夹

static listRoots()

返回根目录(盘符)

命令设计模式:

:创建接口并实现,筛选扩展名为psd的文件

subFile = src.listFiles(new FilenameFilter() {
				@Override
				public boolean accept(File dir, String name) {//dir代表src
					return new File(dir, name).isFile() && name.endsWith(".psd");
				}
			});

基础练习:

package cn.hxh.io.file;

import java.io.*;

public class Demo04 {

	public static void main(String[] args) throws IOException {
		String path = "D:/aa";
		File src = new File(path);
		if (src.isDirectory()) {
			System.out.println("====子目录|子文件名====");
			String[] l = src.list();
			for(String s : l) {
				System.out.println(s);
			}
			System.out.println("====子目录|文件File对象====");
			File[] subFile = src.listFiles();
			for(File f: subFile) {
				System.out.println(f.getAbsolutePath());
			}
			System.out.println("====子目录|.txt对象====");
			//命令设计模式
			subFile = src.listFiles(new FilenameFilter() {
				
				@Override
				//dir代表src
				public boolean accept(File dir, String name) {
//					System.out.println(dir.getAbsolutePath());
					return new File(dir, name).isFile() && name.endsWith(".psd");
				}
			});
			for(File f: subFile) {
				System.out.println(f.getAbsolutePath());
			}
		}
	}

}

输出子孙级目录文件、名称:

package cn.hxh.io.file;

import java.io.*;
import java.util.Arrays;

public class Demo05 {

	public static void main(String[] args) {
		File src = new File("D:/Eclipse IDE for java developers");
		a(src);
//		File[] roots = File.listRoots();
//		for(File s : roots){
//			a(s);
//		}
	}

	public static void a(File src) {
		if (src == null || !src.exists())
			return;
		System.out.println(src.getAbsolutePath());
		if (src.isDirectory()) {
			for (File l : src.listFiles(/*new FilenameFilter() {
				@Override
				public boolean accept(File dir, String name) {
					return new File(dir, name).isFile() && name.endsWith(".psd");
				}
			}*/)) {
				a(l);
			}
		}
	}

}