方法名称 | 方法作用 |
---|---|
mkdir() | 创建目录(如目录树中有文件夹不存在就不创建) |
mkdirs() | 创建目录树 |
list() | 返回String[]类型的子目录、子文件名 |
listFile() | File[]类型的子目录、子文件夹 |
static listRoots() | 返回根目录(盘符) |
命令设计模式:
代码语言:javascript复制例:创建接口并实现,筛选扩展名为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");
}
});
基础练习:
代码语言:javascript复制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());
}
}
}
}
输出子孙级目录文件、名称:
代码语言:javascript复制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);
}
}
}
}