gpt4 book ai didi

java - 如何列出目录及其所有子目录中的所有文件

转载 作者:行者123 更新时间:2023-12-01 13:28:31 28 4
gpt4 key购买 nike

我制作了一个程序,列出您选择的扩展名所需目录中的所有文件名。现在我想但不知道如何更改它以列出子目录中的所有文件。你有什么想法?这是我的代码。谢谢!

import java.util.*;
import java.io.*;

public class Program {

public static void main(String str[]){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("1.Enter directory name:");
String adress = br.readLine();
System.out.println("2.Enter file extension:");
String exten = br.readLine();

File directory = new File(adress);

File[] f = directory.listFiles();

List<String> files = new ArrayList<String>();
List<String> valid = new ArrayList<String>();
List<String> names = new ArrayList<String>();

for(int i=0; i < f.length; i++){
if(f[i].isFile()){
files.add(f[i].getName());
}
}

for(int i=0; i < files.size(); i++){
if (files.get(i).endsWith(exten)){
valid.add(files.get(i));
}
}

for(int i=0; i < valid.size(); i++){
int pos = valid.get(i).lastIndexOf(".");
names.add(valid.get(i).substring(0, pos));
System.out.println(names.get(i));
}
}
catch(Exception e){
e.printStackTrace();
}
}
}

最佳答案

如果您可以使用 Java 7 或 8,则可以使用 FileVisitor ,但在 Java 7 中这意味着编写不止一行代码。如果没有,并且您想保持简单,Apache Commons FileUtils可能是你的 friend 。

Collection<File> files = FileUtils.listFiles(path, new String[]{"xlxs"}, true);

关于java - 如何列出目录及其所有子目录中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21687576/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com