遍历指定的目录,将目录下所有的文件path存入到List中

问题描述

小弟遇到一个问题: 需求是这样的,遍历指定的文件夹,取得所有的文件的path,并存入一个list中。我想让这个list作为返回值返回回来,但是现在由于用到了递归,小弟便不知道如何是好了。 我现在用了一个全局变量filePathList来保存,但是这样很不方便,而且多线程的时候,不安全吧?如何才能用一个局部变量来保存,然后将其返回来呢。 谢谢大家了。public List<String> getFilePathList(File file) {File[] list = file.listFiles();if (list != null) {for (File file2 : list) {if (file2.isDirectory()) {getFilePathList(file2);} else {filePathList.add(file2.getPath());count++;}}}return filePathList;}

解决方案

public List<String> getFilePathList(File file) { List<String> filePathList = new ArrayList<String>(); File[] list = file.listFiles(); if (list != null) { for (File file2 : list) { if (file2.isDirectory()) { filePathList.addAll(getFilePathList(file2)); } else { filePathList.add(file2.getPath()); count++; } } } return filePathList; }
解决方案二:
把filePathList作为这个方法的第二个参数传进去

时间: 2024-11-10 00:44:54

遍历指定的目录,将目录下所有的文件path存入到List中的相关文章

版本库文件目录-如何使用JGit来实现遍历指定版本的库目录及文件

问题描述 如何使用JGit来实现遍历指定版本的库目录及文件 如何使用JGit来实现遍历指定版本的库目录及文件 :给定revision, 之后遍历该版本的repository中的文件目录结构

php更改目录及子目录下所有的文件后缀扩展名的代码_php技巧

不是很经常处理文件,所以对遍历目录还不是很熟悉,找了一下资料,自己修改一下. 让大家看看是否需要完善的 代码主要的目的是 批量更改 文件后缀 由于淘宝数据包图片类型的不同 所以要改一下适合的. 复制代码 代码如下: <?php //本文件和要改变的目录下的文件 放在同一文件夹下 define("STA",".gif");//原来的文件格式 define("END",".jpg");//要改变的格式 $dir="

php更改目录及子目录下所有的文件后缀的代码_php技巧

不是很经常处理文件,所以对遍历目录还不是很熟悉,找了一下资料,自己修改一下. 让大家看看是否需要完善的 代码主要的目的是 批量更改 文件后缀 由于淘宝数据包图片类型的不同 所以要改一下适合的. 复制代码 代码如下: <?php //本文件和要改变的目录下的文件 放在同一文件夹下 define("STA",".gif");//原来的文件格式 define("END",".jpg");//要改变的格式 $dir="

visual studio 2010-利用系统提供的msiexec.exe,如何在卸载时将全部文件及目录都清除以及删除数据库文件

问题描述 利用系统提供的msiexec.exe,如何在卸载时将全部文件及目录都清除以及删除数据库文件 在VS2010打包项目中,利用系统提供的msiexec.exe制作卸载程序,请帮忙看看以下两个问题如何解决,谢谢! 目前遇到如下问题: 1.卸载完成后,安装目录下还有残留文件,如何将想把整个安装目录都卸掉? 2.在打包安装时将安装目录下的数据库文件还原到本地数据库中.在卸载完成后,打开本地数据库发现还有数据库文件在上面,如何直接在卸载后将数据库文件从数据库中分离并且删除掉? 解决方案 自己定义c

使用内存作linux下的/tmp文件夹?

使用内存作linux下的/tmp文件夹? 在/etc/fstab中加入一行: none /tmp tmpfs default 0 0 或者在/etc/rc.local中加入 mount tmpfs /tmp -t tmpfs -o size=128m 注:size=128m 表示/tmp最大能用128m 不管哪种方式,只要linux重启,/tmp下的文件全部消失

linux shell 遍历指定目录下的所有文件夹

在linux 中,如何遍历指定目录下的所有文件夹呢? 要求能搜索结果中包含隐藏文件夹 脚本名:ergodic_folder.sh 脚本内容: Shell代码   #!/bin/sh   list_alldir(){       for file2 in `ls -a $1`       do           if [ x"$file2" != x"." -a x"$file2" != x".." ];then       

目录名称-递归遍历指定目录下的所有文件,依次按目录的名称与文件的名称排序

问题描述 递归遍历指定目录下的所有文件,依次按目录的名称与文件的名称排序 递归遍历指定目录下的所有文件,按依次按目录的名称与文件排序, 首先同一级目录的按目录名称排序,然后按文件的名称排序. 思路一:递归获取到所有文件后,根据件的全路径作在比较器中比较排序(file0.getAbsolutePath().compareTo(file1.getAbsolutePath())),这样可能不会很准.. 求大神支招啊! 想要的排序结果如下: d:/update/spc333/1/aa.txt d:/up

PHP递归遍历指定目录的文件并统计文件数量的方法

 这篇文章主要介绍了PHP递归遍历指定目录的文件并统计文件数量的方法,涉及php文件及目录操作的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了PHP递归遍历指定目录的文件并统计文件数量的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <?php //递归函数实现遍历指定文件下的目录与文件数量 function total($di

PHP递归遍历指定目录的文件并统计文件数量的方法_php技巧

本文实例讲述了PHP递归遍历指定目录的文件并统计文件数量的方法.分享给大家供大家参考.具体实现方法如下: <?php //递归函数实现遍历指定文件下的目录与文件数量 function total($dirname,&$dirnum,&$filenum){ $dir=opendir($dirname); echo readdir($dir)."<br>"; //读取当前目录文件 echo readdir($dir)."<br>&qu