很简单的一个需求,要求读取当前目录下所有的文件和目录,并显示出来。将实现记录下来,以备需要时参考。
下面时具体的实现
/**
* 读取当前目录下的文件路径
*
* @author
* @since jdk1.4.2
* @version 1.0
* @date 2007-06-30
*
*/
public class ViewDirsAndFiles {
private static String listFileStr = "";
private static int dirNumber = 0;
private static int fileNumber = 0;
private static String dirNumberString = "** 当前目录下的目录数:";
public static void main(String[] args) {
try{
File saveFile = new File(args[1]);
FileWriter fw = new FileWriter(saveFile);
ViewDirsAndFiles lf = new ViewDirsAndFiles();
lf.listFile(args[0]);
String dirNumberLine = dirNumberString += dirNumber + "\r\n";
String allWriterContent = dirNumberLine + listFileStr;
//String fileNumberLine = fileNumberString += fileNumber + "\r\n\r\n";
//String allWriterContent = dirNumberLine + fileNumberLine + listFileStr;
fw.write(allWriterContent);
fw.close();
System.out.print("\r\n" + dirNumberLine);
//System.out.print(fileNumberLine);
}catch (ArrayIndexOutOfBoundsException aiobe) {
//参数提示
//System.out.println("## Usage: ListFiles <source dir=""> <target file="">");
System.out.println("## 用法: java org.snailheart.util.ViewDirsAndFiles " +"<当前目录> <目标文件>");
}catch (IOException ioe) {
System.out.println("## IO error!\r\n" + ioe.toString());
}
}
/**
* 获取目录下的所有文件的绝对路径
* @param currDir 要查询的目录名
*/
public void listFile(String currDir) {
File file = new File(currDir);
File[] list = file.listFiles();
for(int i = 0;i < list.length;i++) {
try{
if (list[i].isDirectory()){ //是否是目录
new ViewDirsAndFiles().listFile(list[i].toString());
dirNumber++;
}else {
listFileStr += list[i].getAbsolutePath() + "\r\n";
//System.out.println(list[i].getAbsolutePath());
fileNumber++;
}
}catch (Exception ex) {
listFileStr += "Access deny:" + list[i].getAbsolutePath() + "\r\n";
System.out.println("Access deny:" + list[i].getAbsolutePath());
}
}
}
}
分享到:
相关推荐
### 目录多文件上传-JAVA IO流常用详解 #### 概述 本文将详细介绍一个Java程序中的功能模块——如何实现目录多文件上传,并利用Java IO流进行文件复制操作。该功能可以实现在用户选择一个目录后,自动扫描并上传该...
在Java编程语言中,读取目录下指定的文件是一项常见的任务,这主要涉及到文件I/O操作。Java提供了丰富的API来处理文件系统相关的操作,包括读取、创建、删除文件以及遍历目录等。这里我们将详细讲解如何在Java中实现...
在读取网络文件时,可以使用`java.io.File`类来代表网络路径,然后通过`java.io.FileInputStream`或`java.io.FileReader`等类进行读取。 3. **权限和认证**:访问局域网共享文件可能需要用户名和密码。Java不直接...
"获得/读取一个目录下所有文件(包括子目录下)"这个主题涉及到的是文件系统的遍历和文件路径的操作,这是一个非常基础但重要的编程技能,无论你是使用Python、Java、C#还是其他语言。这里我们将详细讨论如何在不同...
`list()`和`listFiles()`则可以获取当前目录下的文件或文件路径。 接着,我们讨论IO流的创建。Java中的IO流分为节点流和处理流。节点流是直接连接到数据源(如文件)的流,而处理流则是对已有流进行封装,提供更高...
- 调用`listFiles()`获取当前目录下的所有文件和子目录。 - 使用`for`循环遍历这些文件/目录。 - 如果是文件,则打印其路径。 - 如果是目录,则递归调用`listFile()`继续处理子目录。 #### 四、注意事项 1. **...
在Java编程语言中,`File`类是处理文件和目录的核心工具,它位于`java.io`包中。`File`类提供了丰富的API来创建、删除、重命名文件以及管理文件和目录的属性。以下是对`File`类常用方法的详细说明: 1. **创建文件...
Java 基础 - IO Java 的 IO 流主要包括输入、输出两种 IO 流,每种输入、输出流有可分为字节流和字符流两大类。字节流以字节为单位来处理输入、输出操作,字符流以字符为单位来处理输入、输出操作。 ### IO 概述 ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
在运行`java Dir`命令时,Java虚拟机(JVM)会查找当前目录下的`Dir.class`文件,并执行其中的代码。如果`Dir.class`是`Dir.java`的编译结果,那么`Dir.java`应该包含上述提到的逻辑。 总的来说,这个任务涉及到...
在Java编程语言中,获取当前运行程序的路径是一项常见的需求,这主要涉及到系统环境和程序资源的定位。本文将深入探讨如何在Java程序中获取这些信息,并提供多种方法来实现这一目标。 首先,我们可以通过`java.lang...
`获取当前JVM运行时的信息,并将其输出到指定文件,如: ```java Properties prop = System.getProperties(); prop.list(new PrintStream("sysinfo.txt")); ``` #### 四、FileReader/FileWriter/BufferedReader...
在Java编程语言中,删除指定目录下的文件是一个常见的任务,特别是在处理文件系统操作时。本文将深入探讨如何使用Java API来实现这一功能,主要关注`java.io`和`java.nio.file`这两个包中的相关类和方法。 首先,...
Apache Commons IO 是一个由 Apache 软件基金会开发的 Java 类库,它的核心组件 "commons-io-2.11.0.jar" 提供了一系列强大的文件操作工具类,为开发者在处理文件、流、迭代器、过滤器等方面提供了极大的便利。...
// 创建一个File对象表示E盘下javaTest目录中的lesson目录中的1.txt文件 File file = new File("E:\\javaTest\\lesson\\1.txt"); ``` 以上示例展示了如何通过不同的构造函数创建`File`对象。 ##### 目录操作 - `...
在Java编程环境中,读取PDF文件中的内容是一个常见的任务,特别是在处理文档自动化或者数据分析时。PDF(Portable Document Format)是一种跨平台的文件格式,用于精确地保留文档的格式和内容。下面将详细介绍如何...
在Java编程语言中,遍历一个目录下的所有文件和子目录是一项常见的任务,尤其是在处理文件系统操作时。这里我们将深入探讨如何使用Java API来实现这一功能,并解释相关的知识点。 首先,Java提供了`java.io.File`类...
Java的`java.io`包提供了丰富的类和方法,如`FileInputStream`、`FileOutputStream`,用于处理这些文件操作。 4. **HTTP协议**:文件上传下载通常基于HTTP或HTTPS协议进行。理解这些协议的工作原理对于实现上传下载...