java实现遍历文件夹下的文件及文件夹

package com.gblfy.test;import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;/*** 文件常用工具类** @author gblfy* @description FileUtil* @date 2020/07/03 17:05*/
public class FileUtil {/*** 遍历目录下面的文件夹和文件  第一种* 例如:有多少个文件夹和多少个文件** @param path 文件夹路径* @description 不使用递归的方法调用*/public static List<File> traverseFolder1(String path) {List<File> fileList = new ArrayList<>();int fileNum = 0, folderNum = 0;File file = new File(path);if (file.exists()) {LinkedList<File> list = new LinkedList<File>();File[] files = file.listFiles();for (File file2 : files) {if (file2.isDirectory()) {System.out.println("文件夹:" + file2.getAbsolutePath());list.add(file2);folderNum++;} else {fileList.add(file2);System.out.println("文件:" + file2.getAbsolutePath());fileNum++;}}File temp_file;while (!list.isEmpty()) {temp_file = list.removeFirst();files = temp_file.listFiles();for (File file2 : files) {if (file2.isDirectory()) {System.out.println("文件夹:" + file2.getAbsolutePath());list.add(file2);folderNum++;} else {fileList.add(file2);System.out.println("文件:" + file2.getAbsolutePath());fileNum++;}}}} else {System.out.println("文件不存在!");}System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);return fileList;}/*** 遍历目录下面的文件夹和文件  第二种** @param path 文件夹路径* @description 使用递归的方法调用*/public static List<File> traverseFolder2(String path) {List<File> fileList = new ArrayList<>();File file = new File(path);if (file.exists()) {File[] files = file.listFiles();if (null == files || files.length == 0) {System.out.println("文件夹是空的!");return null;} else {for (File file2 : files) {if (file2.isDirectory()) {System.out.println("文件夹:" + file2.getAbsolutePath());traverseFolder2(file2.getAbsolutePath());} else {fileList.add(file2);System.out.println("文件:" + file2.getAbsolutePath());}}}} else {System.out.println("文件不存在!");}return fileList;}/*** 遍历目录下面的文件夹和文件(有返回值+可以后续处理)** @param path 文件夹路径* @description 使用递归的方法调用,并判断文件名是否以.jpg结尾*/public static List<File> getFileListAndReturn(String path) {List<File> fileList = new ArrayList<>();File dir = new File(path);// 该文件目录下文件全部放入数组File[] files = dir.listFiles();if (files != null) {for (int i = 0; i < files.length; i++) {String fileName = files[i].getName();// 判断是文件还是文件夹if (files[i].isDirectory()) {// 获取文件绝对路径getFileListAndReturn(files[i].getAbsolutePath());// 判断文件名是否以.jpg结尾} else if (fileName.endsWith(".jpg")) {String strFileName = files[i].getAbsolutePath();System.out.println("文件名:" + strFileName);fileList.add(files[i]);} else {continue;}}}return fileList;}/*** 遍历目录下面的文件夹和文件(无返回值)** @param path 文件夹路径* @description 使用递归的方法调用,并判断文件名是否以.jpg结尾*/public static void getFileListNotReturn(String path) {File dir = new File(path);// 该文件目录下文件全部放入数组File[] files = dir.listFiles();if (files != null) {for (int i = 0; i < files.length; i++) {String fileName = files[i].getName();// 判断是文件还是文件夹if (files[i].isDirectory()) {// 获取文件绝对路径getFileListNotReturn(files[i].getAbsolutePath());// 判断文件名是否以.jpg结尾} else if (fileName.endsWith(".jpg")) {String strFileName = files[i].getAbsolutePath();System.out.println("文件名:" + strFileName);} else {continue;}}}}public static void main(String[] args) {String srcImgPath = "D:\\1\\srcImgPath\\";//1.traverseFolder1(srcImgPath);//2.traverseFolder2(srcImgPath);//3.getFileListAndReturn(srcImgPath);//4.getFileListNotReturn(srcImgPath);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TensorFlow 2.0深度强化学习指南

在本教程中&#xff0c;我将通过实施Advantage Actor-Critic(演员-评论家&#xff0c;A2C)代理来解决经典的CartPole-v0环境&#xff0c;通过深度强化学习&#xff08;DRL&#xff09;展示即将推出的TensorFlow2.0特性。虽然我们的目标是展示TensorFlow2.0&#xff0c;但我将尽…

互联网诞生记: 浪成于微澜之间

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 老姜出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;“我早就预言了互联网。1975年&#xff0c;所有的技术都已经准备好了&#xff1b;1985年&#xff0c;所有的技术都应该很平常了&#xff1b;而直到199…

20丨8年哈工程计算机专业录取分数线多少,双一流211大学 哈尔滨工程大学2020年各省各专业录取分数线...

哈尔滨工程大学是国家重点大学&#xff0c;也是国家211、双一流大学&#xff0c;其最早前身是中国人民解放军军事工程学院(哈军工)&#xff0c;后面的陆续建设也是保留并深入发展了军工相关专业&#xff0c;目前以该类专业为优势和特色。2020年高考哈尔滨工程大学面向全国各省市…

java 批量为图片添加图标水印和文字水印

需求&#xff0c;给指定目录下面以.jpg结尾的文件&#xff0c;添加图标水印和文字水印 文章目录一、基础版本二、升级版本三、依赖一、基础版本 package com.gblfy.util;import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder;import…

“有趣”的投影:当PCA失效时怎么办?

目前&#xff0c;大多数的数据科学家都比较熟悉主成分分析 (Principal Components Analysis&#xff0c;PCA)&#xff0c;它是一个探索性的数据分析工具。可以这样简要的描述&#xff1a;研究人员经常使用PCA来降低维度&#xff0c;希望在他们的数据中找出有用的信息&#xff0…

线程最最基础的知识

戳蓝字“CSDN云计算”关注我们哦&#xff01;什么是线程试想一下没有线程的程序是怎么样的&#xff1f;百度网盘在上传文件时就无法下载文件了&#xff0c;得等文件上传完成后才能下载文件。这个我们现在看起来很反人性&#xff0c;因为我们习惯了一个程序同时可以进行运行多个…

特征工程自动化如何为机器学习带来重大变化

随着技术的快速发展&#xff0c;在数据科学领域中&#xff0c;包括库、工具和算法等总会不断地变化的。然而&#xff0c;一直都有这么一个趋势&#xff0c;那就是自动化水平不断地提高。 近些年来&#xff0c;在模型的自动化选择和超参数调整方面取得了一些进展&#xff0c;但…

工作组访问不到别人的计算机,众果搜的博客

常见问题&#xff1a;A 在网上邻居列表中找不到目标计算机。B 在网上邻居列表能找到&#xff0c;但却访问不了。C 以UNC路径能访问&#xff0c;但在网上邻居列表中却找不到。1、网上邻居列表的维护依赖于浏览服务(Computer Browers)&#xff0c;计算机通过广播方式登记到浏览器…

java 实现压缩zip的几种方案

需求&#xff0c;将指定目录下的文件及文件夹压缩成一个指定赔案号为名称&#xff0c;以".zip"结尾的压缩包提供客户下载。 package com.gblfy.util;import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.Fil…

序列模型简介——RNN, Bidirectional RNN, LSTM, GRU

既然我们已经有了前馈网络和CNN&#xff0c;为什么我们还需要序列模型呢&#xff1f;这些模型的问题在于&#xff0c;当给定一系列的数据时&#xff0c;它们表现的性能很差。序列数据的一个例子是音频的剪辑&#xff0c;其中包含一系列的人说过的话。另一个例子是英文句子&…

行!人工智能玩大了!程序员:太牛!你怎么看?

人工智能真的玩大了吗&#xff1f;人工智能行业的人才真的“爆发了&#xff1f;”AI程序员究竟怎么样&#xff1f;中国AI前景分析 程序员与远方最新参考&#xff0c;是12月2日出炉的《人工智能技术专利深度分析报告》。中国AI专利&#xff0c;已经位于世界前列&#xff0c;且正…

可应用于实际的14个NLP突破性研究成果(一)

语言理解对计算机来说是一个巨大的挑战。幼儿可以理解的微妙的细微差别仍然会使最强大的机器混淆。尽管深度学习等技术可以检测和复制复杂的语言模式&#xff0c;但机器学习模型仍然缺乏对我们的语言真正含义的基本概念性理解。 但在2018年确实产生了许多具有里程碑意义的研究…

String 常用API

public static void main(String[] args) {/*** String 常用API* 字符串* 1>截取* 2>替换**/String fileSuffix ".jpg";int i fileSuffix.indexOf(".");//截取.之后的内容&#xff0c;包含. indexs0String newStr fileSuffix.substring(i 0);…

小学五年级年级计算机教学计划,小学五年级信息技术教学计划范文

人类社会已进入信息时代,日新月异的信息技术在不断地改变着周围的世界。为了推广计算机信息技术,提高全民族的科学文化素质,发展小学信息技术教育。下面是学习啦小编整理的小学五年级信息技术教学计划范文&#xff0c;希望对大家有所帮助!小学五年级信息技术教学计划范文(一)一…

阿里资深技术专家:优秀的数据库存储引擎应具备哪些能力?

导读 本文作者是阿里巴巴OLTP数据库团队资深技术专家——曲山。作为自研高性能、低成本存储引擎X-Engine的负责人&#xff0c;曲山眼中的优秀关系型数据库存储引擎应该具备哪些能力呢&#xff1f; 正文 数据库内核按层次来分&#xff0c;就是两层&#xff1a;SQL & Stor…

开发函数计算的正确姿势——网页截图服务

前言 首先介绍下在本文出现的几个比较重要的概念&#xff1a; 函数计算&#xff08;Function Compute&#xff09;: 函数计算是一个事件驱动的服务&#xff0c;通过函数计算&#xff0c;用户无需管理服务器等运行情况&#xff0c;只需编写代码并上传。函数计算准备计算资源&am…

java实现删除指定指定目录下面指定某种类型的文件

/*** 删除指定目录下面指定文件类型的文件** param path*/public static void delSpecifyTheTypeFile(String path) {File dir new File(path);// 该文件目录下文件全部放入数组File[] files dir.listFiles();if (files ! null) {for (int i 0; i < files.length; i) {St…

如何关闭计算机的f12功能键,win10如何关闭快捷键?win10关闭F1~F12快捷键的方法

win10如何使用快捷键关闭?在win10系统中我们按下F1~F12原本可以正常使用系统中的功能。而然在笔记本中F1~F12竟然被笔记本中的功能所替代了&#xff0c;例如&#xff1a;打开/关闭 无线网卡&#xff0c;屏幕亮度加减、系统音量大小等&#xff0c;导致我们在使用F1~F12的时候只…

阿里巴巴宣布架构调整;英伟达放大招!重磅发布 ​TensorRT 7 ,支持超千种计算变换;苹果、谷歌和亚马逊罕见结盟……...

戳蓝字“CSDN云计算”关注我们哦&#xff01; 嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

阿里开源分布式事务解决方案 Fescar 全解析

广为人知的阿里分布式事务解决方案&#xff1a;GTS&#xff08;Global Transaction Service&#xff09;&#xff0c;已正式推出开源版本&#xff0c;取名为“Fescar”&#xff0c;希望帮助业界解决微服务架构下的分布式事务问题&#xff0c;今天我们一起来深入了解。 FESCAR o…