java遍历文件夹下文件
时间: 2024-05-08 20:19:48 浏览: 8
您好!对于遍历文件夹下的文件,Java提供了递归方式和非递归方式两种方法,可以根据具体需求选择。
递归方式:
```
import java.io.File;
public class TraverseFolder {
public void traverseFolder(String path) {
File file = new File(path);
if (!file.exists()) {
return;
}
if (file.isFile()) {
System.out.println(file.getName());
return;
}
File[] files = file.listFiles();
for (File f : files) {
if (f.isDirectory()) {
traverseFolder(f.getAbsolutePath());
} else {
System.out.println(f.getName());
}
}
}
public static void main(String[] args) {
TraverseFolder traversal = new TraverseFolder();
String folderPath = "your folder path";
traversal.traverseFolder(folderPath);
}
}
```
非递归方式:
```
import java.io.File;
import java.util.LinkedList;
public class TraverseFolder {
public void traverseFolder(String path) {
LinkedList<File> queue = new LinkedList<>();
File dir = new File(path);
queue.add(dir);
while (!queue.isEmpty()) {
File currentDir = queue.poll();
File[] files = currentDir.listFiles();
for (File f : files) {
if (f.isDirectory()) {
queue.add(f);
} else {
System.out.println(f.getName());
}
}
}
}
public static void main(String[] args) {
TraverseFolder traversal = new TraverseFolder();
String folderPath = "your folder path";
traversal.traverseFolder(folderPath);
}
}
```