Skip to content

Commit d5a3536

Browse files
committed
Update FindJavaFiles.java
1 parent 7ea8715 commit d5a3536

File tree

1 file changed

+28
-16
lines changed

1 file changed

+28
-16
lines changed

src/main/java/com/example/FindJavaFiles.java

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,39 @@
1-
package com.example;
2-
31
import java.io.File;
2+
import java.io.FileWriter;
3+
import java.io.IOException;
44

55
public class FindJavaFiles {
6+
private static final String OUTPUT_FILE = "javaFiles.txt";
7+
68
public static void main(String[] args) {
7-
File projectDir = new File(System.getProperty("user.dir"));
8-
findAndPrintJavaFiles(projectDir);
9+
File projectDir = new File(args[0]);
10+
findAndWriteJavaFiles(projectDir);
911
}
1012

11-
private static void findAndPrintJavaFiles(File directory) {
12-
if (directory.isDirectory()) {
13-
File[] files = directory.listFiles((dir, name) -> name.endsWith(".java") && !name.equals("MainMethodTest.java"));
14-
if (files != null) {
15-
for (File file : files) {
16-
System.out.println(file.getAbsolutePath());
17-
}
13+
private static void findAndWriteJavaFiles(File directory) {
14+
try (FileWriter writer = new FileWriter(OUTPUT_FILE)) {
15+
if (directory.isDirectory()) {
16+
findAndWriteJavaFiles(directory, writer);
1817
}
18+
} catch (IOException e) {
19+
e.printStackTrace();
20+
}
21+
}
22+
23+
private static void findAndWriteJavaFiles(File directory, FileWriter writer) throws IOException {
24+
File[] files = directory.listFiles((dir, name) -> name.endsWith(".java") && !name.equals("MainMethodTest.java"));
25+
if (files != null) {
26+
for (File file : files) {
27+
String path = file.getAbsolutePath();
28+
System.out.println("Found Java file: " + path);
29+
writer.write(path + System.lineSeparator());
30+
}
31+
}
1932

20-
File[] subdirectories = directory.listFiles(File::isDirectory);
21-
if (subdirectories != null) {
22-
for (File subdirectory : subdirectories) {
23-
findAndPrintJavaFiles(subdirectory);
24-
}
33+
File[] subdirectories = directory.listFiles(File::isDirectory);
34+
if (subdirectories != null) {
35+
for (File subdirectory : subdirectories) {
36+
findAndWriteJavaFiles(subdirectory, writer);
2537
}
2638
}
2739
}

0 commit comments

Comments
 (0)