查找目录下固定文件目录以及路径(自然排序)
import org.junit.Test; import java.io.File; import java.util.ArrayList; import java.util.Comparator; import java.util.List; /** * @ClassName T * @Description * @Author 刘志红 * @Date 28/05/2019 **/ public class T { private List<String> list = new ArrayList<>(300); //获取文件夹以及其子文件夹下所有文件的全路径 @Test public void absolutePath() { String path = "D:\\liuzhihong\\study\\批处理"; String regex = ".+\\.swf"; File file = new File(path); getFile(file); //按照文件名自然排序得到的全路径 list.stream().filter(x -> x.matches(regex)).sorted(Comparator.comparing(x -> x.substring(x.lastIndexOf("\\") + 1, x.lastIndexOf(".")))).forEach(System.out::println); System.out.println("-------------------------------"); System.out.println("-------------------------------"); System.out.println("-------------------------------"); //按照文件名自然排序得到的文件名 list.stream().filter(x -> x.matches(regex)).map(x -> x.substring(x.lastIndexOf("\\") + 1, x.lastIndexOf("."))).sorted().forEach(System.out::println); list.clear(); } public void getFile(File file) { if (file != null) { File[] f = file.listFiles(); /*获取子目录下的文件*/ if (f != null) { for (int i = 0; i < f.length; i++) { getFile(f[i]); } } else { String absolutePath = file.getAbsolutePath(); list.add(absolutePath); } } } }
作者:刘志红
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!