java 列出所有文件_java简单列出文件夹下所有文件的方法

本文实例讲述了java简单列出文件夹下所有文件的方法。分享给大家供大家参考,具体如下:

import Java.io.*;

public class ListFiles {

private static String s = "";

private static BufferedReader in = new BufferedReader(

new InputStreamReader(System.in));

public static void main(String[] args) {

try {

s = in.readLine();

getFileList(s);

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void getFileList(String directory) {

File f = new File(directory);

File[] files = f.listFiles();

for (int i = 0; i < files.length; i++) {

if (files[i].isFile()) {

System.out.println("文件:" + files[i]);

} else {

System.out.println("目录:" + files[i]);

// System.out.println("目录绝对地址:" + files[i].getAbsolutePath());

getFileList(files[i].getAbsolutePath());

}

}

}

}

更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

以下是递归实现列出当前工程下所有.java文件的代码: ```java import java.io.File; public class ListJavaFiles { public static void main(String[] args) { File projectDir = new File("."); listJavaFiles(projectDir); } public static void listJavaFiles(File dir) { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { listJavaFiles(file); } else if (file.getName().endsWith(".java")) { System.out.println(file.getAbsolutePath()); } } } } ``` 代码解析: 1. 首先定义了一个 `listJavaFiles` 方法,该方法接收一个 `File` 类型的参数,表示要列出其中的所有 `.java` 文件。 2. 在方法中,首先调用 `listFiles` 方法获取当前目录下的所有文件文件夹。 3. 然后遍历这些文件文件夹,如果是文件夹,则递归调用 `listJavaFiles` 方法,如果是 `.java` 文件,则输出其绝对路径。 4. 在 `main` 方法中,首先获取当前工程的目录,然后调用 `listJavaFiles` 方法,即可列出所有 `.java` 文件的路径。 注意事项: 1. 代码中使用了 `endsWith` 方法判断文件名是否以 `.java` 结尾,这种方式并不是非常严谨,因为有可能存在文件名为 `.java` 的文件,但是不是 Java文件。更好的方式是使用正则表达式判断文件内容是否符合 Java 语法规范。 2. 代码中没有处理文件访问权限的问题,如果当前用户没有读取某个文件的权限,程序将会抛出异常。可以在代码中添加异常处理逻辑,或者使用 Java 8 的新特性 `Files.walk` 方法来遍历文件,该方法可以自动处理文件访问权限的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值