估计这个题目在面试中也经常碰到:使用递归调用,遍历一个目录下的文件夹及文件,下面是一个简单代码,欢迎参考:
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();
}
}
}
希望对部分人有用。
分享到:
相关推荐
在文件系统中,遍历通常指的是遍历文件夹及其子文件夹以查找、处理或管理文件。本话题将详细探讨两种常见的遍历方式:递归遍历和非递归遍历,并结合框图来解释它们的工作原理。 首先,我们来看**递归遍历**。递归是...
这样,我们就可以避免了递归调用的深度限制。 关键知识点包括: 1. **API调用**:在易语言中,API调用是通过内联函数或者外部函数库实现的,允许易语言程序使用操作系统提供的功能,如读写文件、遍历目录等。 2. ...
遍历文件夹是指程序通过递归或循环的方式访问指定目录及其所有子目录下的文件和子目录。在不同的编程语言中,都有相应的API或库函数来支持这项功能。例如,在Python中,我们可以使用`os`和`os.path`模块,而在Java中...
2. **递归遍历**:遍历文件夹时,如果文件夹包含子文件夹,我们需要递归地处理这些子文件夹以确保找到所有符合要求的文件。递归是一种函数调用自身的技术,使得函数能够处理嵌套结构,如多层目录。 3. **文件过滤**...
如果发现文件夹,则递归调用 MakeFileList 函数以遍历子文件夹。如果发现文件,则判断文件扩展名是否符合 FileExt,如果符合,则添加到结果集中。 在遍历文件夹时,函数使用了 Application.ProcessMessages 方法以...
接着,我们调用 TraversingCatalog 函数来递归遍历文件夹和文件。 四、TraversingCatalog 函数 TraversingCatalog 函数用于递归遍历文件夹和文件。该函数的参数包括 TreeNode 对象和文件夹的路径。在函数中,我们...
如果是目录,它会递归调用自身,继续遍历子目录;如果是文件,就打印出文件路径。 在Java中,我们可以使用`java.io.File`类来实现类似的功能: ```java import java.io.File; public void traverseFolder(File ...
- 对于每个文件或文件夹,根据其类型进行相应的处理(输出文件名或递归调用自身)。 ##### 3.2 主函数流程 主函数首先提示用户输入需要遍历的文件夹路径,然后调用`filesearch`函数开始遍历,并通过`system("PAUSE...
以下是一个简单的示例,展示如何使用递归遍历文件夹: ```csharp using System; using System.IO; public class RecursiveFileTraversal { public static void Main() { string rootPath = @"C:\你的根目录路径...
在C++编程中,遍历文件夹及其子文件夹并输出所有文件的路径与内容是一项常见的任务,尤其在处理大量数据或进行文件管理时。这个程序的实现涉及到对操作系统文件系统的接口调用以及文件操作。以下是一份详细的步骤和...
通过引入`Scripting`命名空间,我们可以创建FSO实例并利用其方法来遍历文件夹: ```vb Dim fso As New FileSystemObject ``` 遍历文件夹的核心方法是`GetFolder()`,它接收一个文件夹路径作为参数,并返回一个...
在编程中,遍历文件夹通常指的是递归地访问一个文件夹及其所有子文件夹的过程。这可以通过递归函数实现,每次调用自身处理当前目录下的每个子文件夹。在VBScript或VBA中,可以使用`FileSystemObject`对象的`...
在C语言中,递归遍历文件夹是一种常见的需求,主要用于搜索、处理文件系统中的文件或目录等场景。递归遍历意味着程序会从一个指定的根目录开始,逐层深入每个子目录,直到遍历完整个目录树为止。本篇文章将详细解析...
遍历文件夹通常涉及到递归算法的应用,以便能够深入到目录树的每一个角落。 #### 知识点二:遍历文件夹的方法实现 在Android中,遍历文件夹主要依赖于`java.io.File`类提供的方法。例如,在代码片段中出现的`new ...
Node.js中,可以使用`fs`和`path`模块来遍历文件夹: ```javascript const fs = require('fs'); const path = require('path'); function traverseDirectory(dirPath) { fs.readdirSync(dirPath).forEach...
### 详解Shell脚本遍历文件夹内所有文件并打印绝对路径 #### 一、引言 在Linux或Unix环境中,Shell脚本是一种强大的工具,能够帮助用户执行一系列任务,如文件管理、进程控制等。其中,遍历文件夹内的所有文件并...
3. **遍历子目录和文件**:对于每个子目录,创建一个TreeNode对象,设置相应的属性,并递归调用遍历函数;对于文件,同样创建TreeNode对象,但无需进一步递归。 4. **添加节点至TreeView**:将创建的TreeNode对象...
`handleDirectory`函数用于处理每个条目,如果条目是目录,我们就递归调用`traverseDirectory`来继续遍历其子文件夹。 在AS3中,遍历文件夹需要注意权限问题。在Flash Player中,由于安全限制,只能访问用户已明确...
在这种情况下,我们可以使用`TDirectory.GetDirectories()`配合递归调用来实现: ```delphi uses System.IOUtils; procedure ListFilesRecursively(const DirPath: string); var Files, SubDirs: ...
这时,你可以扩展代码,增加条件判断或递归调用来处理子目录。 压缩包中的文件列表: - Unit1.dfm:这是Delphi的表单文件,保存了用户界面的设计和组件状态。 - Project1.dpr:这是项目的主文件,包含了项目的基本...