File类中的list()和listFiles()方法
- list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组
- listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组
import com.alibaba.fastjson.JSON;
import java.io.File;
/**
* @author: hmm
* @date: 2020/9/27 9:57
*/
public class Test {
public static void main(String[] args) {
//创建File对象
File file = new File("D:/images/");
// 获取该目录下的所有文件名
String[] filenames = file.list();
System.out.println(JSON.toJSONString(filenames));
// 获取该目录下所有文件和目录的绝对路径
File[] files = file.listFiles();
System.out.println(JSON.toJSONString(files));
}
}
FilenameFilter
java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件
list():
import com.alibaba.fastjson.JSON;
import java.io.File;
import java.io.FilenameFilter;
/**
* @author: hmm
* @date: 2020/9/27 9:57
*/
public class Test {
// 目标目录
private static String ROOTDIR = "D:/images/";
public static void main(String[] args) {
//创建File对象
File file = new File("D:/images/");
// 获取指定目录下的所有文件,包括文件夹
String[] files = file.list();
System.out.println(JSON.toJSONString(files));
// 获取指定目录下后缀名为jpg的文件
String[] files2 = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".jpg");
}
});
System.out.println(JSON.toJSONString(files2));
// 获取指定目录下的所有目录
String[] files3 = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir, name).isDirectory();
}
});
System.out.println(JSON.toJSONString(files3));
// 获取指定目录下的所有文件
String[] files4 = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir, name).isFile();
}
});
System.out.println(JSON.toJSONString(files4));
// 获取指定目录下的所有文件中 包含 20190011 的文件
String[] files5 = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.contains("20190011");
}
});
System.out.println(JSON.toJSONString(files5));
}
String[] files6 = file.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
int result1 = name.indexOf("11");
if (result1 != -1) {
return true;
} else {
return false;
}
}
});
System.out.println(JSON.toJSONString(files6));
}
listFiles():
import com.alibaba.fastjson.JSON;
import java.io.File;
import java.io.FilenameFilter;
/**
* @author: hmm
* @date: 2020/9/27 9:57
*/
public class Test {
public static void main(String[] args) {
//创建File对象
File file = new File("D:/images/");
// 获取指定目录下的所有文件,包括文件夹
File[] files = file.listFiles();
System.out.println(JSON.toJSONString(files));
// 获取指定目录下后缀名为jpg的文件
File[] files2 = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".jpg");
}
});
System.out.println(JSON.toJSONString(files2));
// 获取指定目录下的所有目录
File[] files3 = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir, name).isDirectory();
}
});
System.out.println(JSON.toJSONString(files3));
// 获取指定目录下的所有文件
File[] files4 = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir, name).isFile();
}
});
System.out.println(JSON.toJSONString(files4));
// 获取指定目录下的所有文件中 包含 20190011 的文件
File[] files5 = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.contains("20190011");
}
});
System.out.println(JSON.toJSONString(files5));
}
}