`

获取指定目录下的所有的java文件的绝对路径,包含子目录中的。

 
阅读更多
/**
* 获取指定目录下的所有的java文件的绝对路径,包含子目录中的。
*  要求存放到集合中(注意,过滤器对象只能有一个。)
*/
public static void main(String[] args) {
/*
* 思路;
* 1,既然包含子目录:递归。
* 2,递归出来的所有的文件和文件夹,需要加上过滤器,过滤出指定的文件。
* 3,将满足过滤器条件的文件存储到集合中。
* 注意:过滤器不要定义递归代码中,这样容器导致过滤器创建过多,内存消耗。
*/

File srcDir = new File("E:\\JavaSE_Code");

long start = System.currentTimeMillis();

FileFilter filter = new FileFilterByDirAndSuffix(".java");

List<File> list = new ArrayList<File>();

getJavaFiles_2(srcDir, filter, list);

for (File file : list) {
System.out.println(file.getAbsolutePath());
}
long end = System.currentTimeMillis();

System.out.println("毫秒值:" + (end - start));

}

// 将过滤器定义在srcDir对象的listFiles方法中,只获取子目录和指定的文件。
public static void getJavaFiles_3(File srcDir, FileFilter filter,
List<File> list) {
File[] files = srcDir.listFiles(filter);

for (File file : files) {

if (file.isDirectory()) {
getJavaFiles_3(file, filter, list);
} else {
list.add(file);
}
}
}

/*
* 使用了FileFilter的过滤器。
*/
public static void getJavaFiles_2(File srcDir, FileFilter filter,
List<File> list) {

File[] files = srcDir.listFiles();

for (File file : files) {

if (file.isDirectory()) {
getJavaFiles_2(file, filter, list);
} else {
// 满足过滤器,将file对象添加到集合中。
if (filter.accept(file)) {
list.add(file);
}
// System.out.println(file.getAbsolutePath());
}
}

}

/*
* 使用的是FilenameFilter过滤器。
*/
public static void getJavaFiles_1(File srcDir, FilenameFilter filter,
List<File> list) {

File[] files = srcDir.listFiles();

for (File file : files) {

if (file.isDirectory()) {
getJavaFiles_1(file, filter, list);

} else {

// 满足过滤器,将file对象添加到集合中。
if (filter.accept(file.getParentFile(), file.getName())) {
list.add(file);
}
// System.out.println(file.getAbsolutePath());
}
}

}
分享到:
评论

相关推荐

    java读取项目中的文件(src目录下)

    在Java编程中,读取项目中的文件,特别是位于`src`目录下的文件,是一个常见的需求。这涉及到对项目结构的理解和使用Java I/O流的知识。`src`目录通常包含源代码文件,而运行时,这些文件会被编译并放置到类路径...

    获取指定路径下的所有文件

    `os.listdir()`用于获取目录中的所有文件和子目录名,`os.path.isdir()`和`os.path.isfile()`则分别用于判断路径是否为目录或文件。下面是一个简单的Python示例: ```python import os def get_files_in_path(path...

    遍历目录下所有的文件_遍历文件夹文件_java遍历目录下所有文件_

    1. **`list()`方法**:当你调用`File`对象的`list()`方法时,它会返回一个字符串数组,包含指定目录中的所有文件和目录的名字(不包括子目录的文件)。这些名字并不包含路径信息,只是简单的文件或目录名。 2. **`...

    获取文件路径

    `os.listdir(directory)`则可以获取指定目录下的所有文件和子目录的名称列表,这对于遍历文件夹非常有用。 在Java中,可以使用`java.io.File`类来处理路径。`File.getAbsolutePath()`返回文件的绝对路径,而`list...

    java 获取当前路径下的所有xml文档的方法

    例如,如果你想查找特定子目录下的XML文件,可以在创建`File`对象时传入子目录的路径。或者,如果你需要处理找到的XML文件,可以在`print()`方法中加入相应的逻辑。 总的来说,Java通过`java.io.File`类提供了丰富...

    Java实现读取文件夹下(包括子目录)所有文件的文件名

    这个`FileList`类提供了一个方便的方法,可以轻松集成到任何Java项目中,以获取特定文件夹及其子目录下的所有文件名,并将这些名称保存到一个文件中。通过调用`new FileList("目录路径", "列表文件路径")`并随后调用...

    统计路径下所有文件任意格式代码行数

    1. **遍历目录**:批处理文件可以使用`FOR /R`命令来递归遍历指定路径下的所有子目录和文件。 2. **识别文件类型**:根据文件扩展名判断是否为源代码文件。这可能通过`IF`语句和文件扩展名比较来实现。 3. **计数**...

    java 文件操作类

    总结来说,`java.io.File`类是Java中处理文件和目录的核心工具,配合自定义的`FileUtil`类,可以方便地进行各种文件操作,包括创建、删除、读取、写入等。熟练掌握`File`类和`FileUtil`类的使用,将使你在Java开发中...

    java删除本地文件.txt

    有时候,需要删除整个目录及其包含的所有子目录和文件。这可以通过递归的方式实现: ```java public static boolean deleteDirectory(File directory) { if (directory.exists()) { File[] files = directory....

    path_test.rar_获取路径

    本示例代码“path_test.java”旨在演示如何在Java中获取文件或目录的绝对路径。首先,让我们理解什么是文件路径以及绝对路径的概念。 **文件路径**:在计算机系统中,文件路径是标识文件或目录的唯一字符串,它指示...

    java读写文件,Java操作文件

    获取文件属性也是Java文件操作中的重要部分,可以帮助我们更好地管理文件系统。 ```java String path = request.getRealPath("/"); File f = new File(path, "ReadData.txt"); if (f.exists()) { System.out....

    Java把目录下的文件打印出来

    在Java编程中,打印目录下的所有文件是常见的需求,尤其在进行文件操作或者需要遍历文件系统时。这篇博文的作者分享了一种方法来实现这一功能。以下是对这个主题的详细解析。 首先,我们需要理解Java中的`java.io....

    java对一个文件夹中的所有txt读出

    通过`File`对象的`listFiles()`方法,可以获取指定目录下的所有子文件和子目录。在给定的代码示例中,首先创建了一个指向目标目录的`File`对象`fileDir`,然后调用`listFiles()`方法获取该目录下所有文件的数组`text...

    计算机软件-商业源码-实例100-获得文件路径信息.zip

    `Path.GetDirectoryName(path)`返回路径中的目录部分,`Directory.GetFiles(directory)`获取指定目录下的所有文件,`DirectoryInfo`类可以用来遍历目录及其子目录。 了解了基本概念后,开发者通常会遇到以下常见...

    判断并返回文件或目录的名称

    为了实现这一功能,开发者可能还会使用`listFiles()`或`listFiles(FilenameFilter filter)`方法,这可以列出指定目录下的所有子文件或符合特定条件的文件。 在实际项目中,这些基本的文件和目录操作常用于文件管理...

    java中基于socket的文件上传程序

    - 遍历指定目录下的所有文件和子目录。 - 将每个文件的路径、名称和大小存储到向量中。 #### 2. 建立Socket连接 - 使用`Socket`类创建客户端与服务器之间的连接。 - 通过`getSocket()`方法获取连接。 #### 3. 发送...

    后端Java部分知识----文件地址----File类

    - `listFiles()`: 返回当前目录下的所有文件和子目录的`File`对象数组,包括隐藏文件。对于文件对象,返回`null`。 - `list(FilenameFilter filter)` 和 `listFiles(FilenameFilter filter)`: 根据提供的过滤器...

    javaFile文件操作和文件流的详解(福哥出品).docx

    1. `createNewFile()`:创建指定的文件,但不能创建目录,且路径中所有上级目录必须存在。 2. `mkdir()`:创建单级目录,如果路径是相对路径,新目录会在当前工作目录下创建。 3. `mkdirs()`:如果路径包含多级目录...

    FileDao.rar_dao java_filedao.class_java FileD_java 文件操作

    4. **文件遍历**:`File.listFiles()`方法可以获取指定目录下的所有文件和子目录。 `filedao.class`文件可能包含了`FileDao`类的字节码,它是Java编译后的结果。Java虚拟机(JVM)通过加载此类文件来执行相应的代码...

Global site tag (gtag.js) - Google Analytics