JAVA遍历文件下的所有文件和文件夹

@Test

public void traverseFolder1( ) {

String path = "D:\\TEST";

int fileNum = 0;

int folderNum = 0;

int foldeNum = 0;

File file = new File(path);

if (file.exists()) {

LinkedList list = new LinkedList();

//list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组

//listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

File[] files = file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

foldeNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

File temp_file;

while (!list.isEmpty()) {

temp_file =

list.removeFirst();//删除第一个元素,也就是找到数组中的第一个元素返回一个File去判断,说白了就是循环分别找到每个文件下面对应的是文件还是文件夹,如果循环下一级还是文件夹则继续循环直到结束(思想就是一层一层去判断查找知道找到所有的文件和文件夹,不明白看下面的例子。)

files = temp_file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {//如果是个目录(文件夹)则返回true

System.err.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

folderNum++;

} else {//输出文件

System.out.println("文件:" + file2.getAbsolutePath());//返回文件的完整路径。

fileNum++;

}

}

}

} else {

System.out.println("文件不存在!");

}

System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);

}

例子:

LinkedList list=new LinkedList();

list.add("a");

list.add(1);

list.add('b');

String kk=(String) list.removeFirst(); // (String) 这代表强制转换 原理同上

char   k=(char) list.removeLast();//删除最后一个元素

System.out.println(kk);

System.out.println(k);

}

}

结果为 a     b

//使用递归

public voidtraverseFolder2(String path) {

File file = newFile(path);

if(file.exists()) {

File[] files =file.listFiles();

if (null == files || files.length == 0) {

System.out.println("文件夹是空的!");

return;

} else{

for(File file2 : files) {

if(file2.isDirectory()) {

System.out.println("文件夹:" +file2.getAbsolutePath());

traverseFolder2(file2.getAbsolutePath());

} else{

System.out.println("文件:" +file2.getAbsolutePath());

}

}

}

} else{

System.out.println("文件不存在!");

}

}

java遍历文件夹下所有图片_JAVA 遍历文件夹下的所有文件相关推荐

  1. java遍历文件夹下的_Java遍历文件夹下的所以文件

    利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...

  2. java微信支付 需要证书吗_java引用微信支付的p12证书文件

    最近对接微信支付的退款功能,其中涉及到引用证书文件. 1. 绝对路径: //windows: public static String PATH1 = "E:\project_ceshi\a ...

  3. java文件读写的基本类_java常用工具类(三)—— 文件读取的操作类

    定义常用的文件类型 public class FileType { /** * 文件头类型 */ public static final String XML_FILE = "text/xm ...

  4. java遍历map前n项_Java遍历Map的几种方式

    日常开发中,遍历Map是很常见的操作,在Java中有几种方式可以实现.在此记录一下. Map map = new HashMap<>(); map.put(1997L, "牛&q ...

  5. java 遍历map并比较值_Java遍历Map,List的不同方法,并比较其性能

    最近在做文本分析相关的实验,统计词频,情感度量许多数据预处理的工作要用到集合类的遍历,借这个机会也好好复习了一下Java中Map,List的用法. 1. Map的遍历 Map这种集合不能直接取出元素, ...

  6. java中相对路径怎么写_java中如何使用相对路径读取文件

    java中使用相对路径读取文件的方法:1.使用文件[File file = new File("src/test.txt")]方法:2.使用类的相对路径:3.使用当前线程的类加载器 ...

  7. java中 复制到下一行_java代码复制到下一行

    java代码复制到下一行 [2021-02-10 13:04:40]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...

  8. java 将光标移至行首_Java:将条件移至消息文件

    java 将光标移至行首 Java类ResourceBundle和MessageFormat提供了一个很好的工具集,用于解决Java应用程序内部的本地化消息. 这篇文章提供了一个小示例,说明如何使用C ...

  9. java导出html word文档_java生成带html样式的word文件

    最近在项目中需要将通过富文本编辑器处理过的文字转换为Word,查了很久,大家通常的解决办法是使用Jacob或POI等组件直接生成Word,但是都无法将富文本编辑器处理过的文字保留样式并保存为Word, ...

最新文章

  1. oracle 创建数据库 表空间 用户 授权和toad导入导出数据库
  2. ts文件编译后变量在vscode里报错
  3. linux : 各个发行版中修改python27默认编码为utf-8
  4. Cibersort免疫浸润的在线分析及R语言代码实现
  5. 基金指数温度怎么算_壁挂炉采暖费怎么算?从两千到八百,内行人教你别再花冤枉钱...
  6. UVA10990 Another New Function【欧拉函数打表】
  7. Gravatar是什么?全球通用头像简单介绍与使用教程
  8. 如何使用JS实现页面内容随机显示
  9. 安卓手机反应慢又卡怎么办_安卓手机出现卡顿反应慢的具体处理方法
  10. Win10下载的文件如何解除锁定?Win10系统解除锁定下载的文件方法
  11. 关于EmmyLua插件创建Lua脚本Require失败的问题
  12. VS2008当前页面脚本发生错误
  13. CSS里的BFC和IFC的用法
  14. 家庭影院投影仪哪款值得买?2022年双11家庭影院4K投影仪首选当贝X3 Pro
  15. 手机号码是如何构成的?
  16. eureka client无法启动,java.lang.IllegalStateException: Failed to introspect Class
  17. 【HTML------樱花雨】
  18. 5 月计算机语言排行,TIOBE 5月编程语言排行榜
  19. 解决matlab错误使用 mex 未找到支持的编译器或 SDK一系列问题
  20. 网络基础知识问答梳理

热门文章

  1. HR 黑话大全:那些残忍的潜台词
  2. vue中参数传递(合集)
  3. Android网络相关adb命令
  4. python简单病毒代码
  5. 剖析春运抢票软件 功率最高90%?
  6. Java中final关键字的作用与用法
  7. 初学一个月html,css,js,JQ制作的网页刷题
  8. 另一个.lua文件中的全局变量可以被其它.lua文件读取
  9. 《后会无期》票房赶超《小时代3》 大数据解读韩寒VS四娘之争
  10. 前端 之 Vue初试