根据一个文件路径打印文件下所有的子文件夹和文件(包括子文件夹下的文件夹和文件)
import java.io.*;
/**
给定一个文件路径,打印以下内容:
如果路径指向一个文件夹则打印该文件夹下所有的子文件夹和文件(包括子文件夹下的文件夹和文件)
如果路径指向一个文件则打印该文件名
如果路径指向不存在的文件则打印:”(NO FILE)”
*方法创建思路:1.在一个类中创建一个方法:
* 第一、得到文件的抽象路径
* 第二、判断路径是否准确,否则打印 NO FILE
* 第三、路径正确,判断是否为文件,如果为文件,则打印文件名
* 第四、路径不是文件名则判断是否为文件夹名称,如果为文件夹,调用递归方法打印文件夹中所有文件夹及文件
*/
public class ListFileRecursion{
public static void listFile(String filePath){
try{
//1.得到文件的抽象路径
File file = new File(filePath);
//2.判断路径是否准确
if(file.exists()){
//3.如果路径指向一个文件则打印该文件名
if(file.isFile()){
System.out.println(file.getName());
//4.如果路径指向一个文件夹则打印该文件夹下所有的子文件夹和文件
}else if(file.isDirectory()){
System.out.println(file.toString());
File[] fileArray = file.listFiles();
//打印文件夹下文件数量
//System.out.println(" includes "+ fileArray.length +" files/folders directly.");
//递归打印文件夹下所有文件
for(File subFile : fileArray){
listFile(subFile.toString());
}
}
}else if(!file.isDirectory()){
//如果路径指向一个文件,则打印文件名
System.out.println(file.toString());
}else{
//如果路径指向不存在的文件则打印:”(NO FILE)”
System.out.println("NO FILE");
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
//在路径中如果用单斜杠‘\’,java中会认为是转义字符,所以在路径上全部加双斜杠‘\\’。
listFile("C:\\oracle");
}
}
分享到:
相关推荐
在这个特定的案例中,`TreeView`被用来显示一个指定文件夹下的文件和子文件夹,并且针对每个节点,特别是文件夹,提供了展开和折叠的交互功能。下面我们将深入探讨如何实现这样的功能。 1. **WPF TreeView 基本使用...
在C语言中,遍历一个目录下的所有文件以及其子目录中的特定后缀文件是一项常见的任务,这在处理大量数据或者需要对特定类型文件进行操作时尤其有用。本知识点将详细讲解如何实现这一功能。 首先,我们需要理解C语言...
在C#编程中,有时候我们需要实现一个功能:当用户选择了一个文件后,程序能够自动打开该文件所在的文件夹,并且高亮显示这个文件,方便用户查看或操作。这种需求在很多场景下都非常有用,比如在文件管理器中、软件...
1. **文件信息节点定义**:定义了一个`fileInfoNode`结构体,用于存储文件信息和指向下一个节点的指针。 2. **添加文件信息到链表**:`saveToLink`函数负责将文件信息插入到链表头部。 3. **显示链表内容**:`...
在Linux系统中,C语言是实现底层操作的强大工具,其中包括遍历指定路径下的所有文件和文件夹。这个程序的核心在于使用Linux系统调用,如`opendir()`、`readdir()`和`closedir()`,来读取目录内容,并通过递归的方式...
接着,该方法会将输入的文件夹路径添加到 ArrayList 中,然后调用 visitAll() 方法来获取指定路径下的所有文件和文件夹。最后,该方法会调用 rootDelete() 方法来删除所有文件和文件夹。 主方法 主方法用于测试 ...
标题中的"025获取多层文件夹下文件名并创建超链接共2页.pdf.z"和描述中的"025获取多层文件夹下文件名并创建超链接共2页.pdf.zip"提示我们,这个内容可能涉及的是一个教程或者指南,教用户如何在多层文件夹结构中获取...
当用户选择一个TXT文件后,通过点击事件获取选中的文件名,并使用`File.getName()`方法获取不包含路径的文件名。 5. **安全考虑**:在处理用户文件时,必须确保安全,避免暴露敏感信息。例如,不要直接显示整个SD卡...
在C语言中,遍历文件夹目录中的文件和...通过理解和应用这些知识点,你可以在C语言中编写程序来遍历任何指定目录及其子目录下的所有文件和文件夹。这是一个基础但重要的功能,常用于备份、清理、搜索和文件管理等任务。
本篇文章将详细介绍如何在已知路径下创建一个名为`name`的新文件夹。该过程涉及到Java编程语言中的基本文件处理技术。 #### 二、基础知识 1. **文件系统**:操作系统用来组织和存储数据的一种方式,通常以目录树的...
在C#编程中,操作文件和目录是常见的任务,包括检查文件或文件夹是否存在、创建新的文件夹以及删除已存在的文件夹。以下是对这些操作的详细说明: 首先,要判断一个文件是否存在,可以使用`System.IO.File`类的`...
在本文中,我们将深入探讨如何使用C#和WPF(Windows Presentation Foundation)来扫描指定文件夹下的所有图片,并将它们加载到一个面板控件中,同时实现点击切换图片的功能。这个项目对于初学者来说,是一个很好的...
在计算机科学中,**目录遍历**(Directory Traversal)是指系统地访问一个目录及其所有子目录下的文件和子目录的过程。这个过程通常用于查找特定类型的文件、统计文件数量或者进行其他基于文件的操作。 ### 二、...
在Windows API中,可以使用EnumWindows函数来枚举所有的顶层窗口,并通过GetWindowText和GetWindowLong等函数获取每个窗口的相关信息,包括窗口的标题、类名,甚至可以判断窗口是否与特定的文件夹路径关联。...
这表明压缩包内有一个纯文本文件和一个包含其他文件的子压缩包。在实际应用中,可能需要提供解压服务,让用户能够下载并访问压缩包内的所有内容。 总之,Java Web应用程序中的文件下载是一个涉及服务器配置、HTTP...
标题“相对路径bat执行exe文件 例子”指向了一个具体的实践场景,即如何在批处理脚本中通过相对路径来调用可执行文件(EXE)。这里我们将详细探讨这个主题,以及相关的知识点。 首先,了解什么是相对路径至关重要。...
在VC++编程环境中,遍历文件夹下的所有文件是一项常见的任务,这通常涉及到对操作系统文件系统接口的调用。在Windows环境下,我们可以使用Microsoft的Windows API来实现这一功能。下面我们将详细探讨如何在VC++中...
本项目主要探讨如何在VC++中实现基础的文件和文件夹操作,包括选择保存文件的路径、打开一个文件夹以及选择特定文件等常见功能。以下将详细解释这些知识点: 1. **文件操作**: - **创建文件**:在MFC中,可以使用...
- 如果要压缩的是一个目录,需要遍历目录下的所有文件和子目录,对每个子项重复上述步骤。 4. **关闭流**: - 在所有文件和目录都添加完成后,记得关闭`ZipOutputStream`,这将完成ZIP文件的写入过程。 5. **...
其中之一就是删除一个路径下的所有文件夹及其子文件夹中的所有文件。本篇文章将详细解释如何用PHP实现这一功能,所涉及到的关键知识点包括如何遍历目录、读取目录中的文件和文件夹、删除文件和文件夹等。 首先,...