估计这个题目在面试中也经常碰到:使用递归调用,遍历一个目录下的文件夹及文件,下面是一个简单代码,欢迎参考:
public class TestFile {
public void getFiles(String path){
File file = new File(path);
File[] files = file.listFiles();
for(File f: files){
String fName = f.getName();
if(!f.isFile()){
System.out.println(f.getParent()+"\\"+fName);
String newPath = f.getAbsolutePath();//返回绝对路径
getFiles(newPath);
}else{
System.out.println(f.getParent()+"\\"+fName);
}
}
}
public static void main(String[] args) {
//用户输入路径
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String path;
try {
path = br.readLine();
new TestFile().getFiles(path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
希望对部分人有用。
分享到:
相关推荐
本篇文章主要介绍了JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) ,具有一定的参考价值,有兴趣的可以了解一下。
如标题所示,遍历文件夹下的所有文件,主要功能如下: 传入一个路径,读取路径里面所有的文件 遍历读取的文件,判断当前文件是文件还是文件夹 当前目录为文件,打印出当前文件绝对路径 当前目录为文件夹,获取文件夹...
遍历文件夹下面的文件夹 如果文件夹名称等于”.svn”,则修改文件夹的属性(因为”.svn”的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹名称不等于”.svn”,则递归上面的方法 Python的实现 代码 ...
c# 基于TreeView递归调用遍历系统盘符的应用实例,功能很强大,注释很清楚。
Java获取文件的名称,以及文件创建时间、最后修改时间、访问时间Java代码示例,以及使用递归调用方法遍历文件夹,存入list中
遍历单层文件夹: > 在扫描单层文件夹的问题是,两个函数的结果虽有不同,不过表现是相差不大的。 > Scandir 函数会提供额外两行,分别是 “.” 和 “..” ,而 Glob 则是没有的。 复制代码 代码如下: function get...
就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法,一种是通过递归思想去遍历,另一种是os模块的walk()函数下面话不多说,就来一起看看详细的介绍:...
Java中递归逻辑循环调用解压zip里面所有的压缩包 Java中递归逻辑循环调用解压zip里面所有的压缩包
今天有个脚本需要遍历获取某指定文件夹下面的所有文件,我记得很早前也实现过文件遍历和目录遍历的功能,于是找来看一看,嘿,不看不知道,看了吓一跳,原来之前我竟然用了这么搓的实现。 先发出来看看: def ...
如下所示: import os import time from collections import deque """ 利用递归实现目录的遍历 @para sourcePath:原文件目录 @para targetPath:目标文件目录 """ def getDirAndCopyFile(... #遍历文件夹 for
遍历指定目录下的所有文件和文件夹,不递归遍历,需要手动完成递归遍历功能。 import glob as gb path = gb.glob('d:\\2\\*') for path in path: print path 2.2.调用os.walk 遍历指定目录下的所有文件和文件夹,...
递归调用函数,遍历当前目录下的文件夹(深度过深,可能会报错),取指定类型的文件(可根据自己需要修改)
输出文件夹中文件信息到excel文件中用于代替dirs-dirs2xls.m 有时需要统计一个文件夹中文件的信息,过去常用dir/s,然后重定向到一个...包含两个文件,dirs2xls.m是主程序,dirs_info.m是一个包含递归调用的函数。
输出文件夹中文件信息到excel文件中用于代替dirs-dirs_info.m 有时需要统计一个文件夹中文件的信息,过去常用dir/s,然后重定向到一个...包含两个文件,dirs2xls.m是主程序,dirs_info.m是一个包含递归调用的函数。
(递归调用) 由于容器对象和叶子对象在功能上的区别,在使用这些对象的客户端代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下客户端希望一致地处理它们,因为对于这些对象的区别对待将会使得程序...
程序主要是获取文件的修改时间,包括年和月,并以此为名创建文件夹,再用递归调用的方式遍历整个文件夹,将每一张照片拷贝到相应的文件夹下。 程序源码如下: #coding:utf-8 import os import sys import os.path ...
哦,删除文件当然是有条件的嘛,删除一个月之外的文件,不然直接使用java调用命令端口,删除存放垃圾文件的目录,让操作系统自己去递归删除就行了,我就不用费这个心劲儿了。 刚开始没注意这个量,随手就写了个递归...
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。 也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./...
自动定位扫描文件上的签名、印章 并且抠图,抠图背景为透明图片,方便签章在线上使用。 127.0.0.1:8386/x-api/v1/ai/detect/sign?...path=可以是指定文件也可以是文件夹,文件夹则递归遍历。type:0=印章,1=签名
C语言实现,遍历一个文件夹,并且将修改该文件夹所有文件的修改日期为最近2月。 只有一个文件,在VC下编译通过。如有需求,请自己修改。 调用_findfirst、_findnext,纯C递归实现 大家只要修改里面的changeFiletime...