常用方法(文件夹操作)

方法名称 方法作用
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);
			}
		}
	}

}

你可能感兴趣的:(#,IO流技术)