-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReadAndCountPathResult.java
More file actions
executable file
·29 lines (28 loc) · 1.01 KB
/
Copy pathReadAndCountPathResult.java
File metadata and controls
executable file
·29 lines (28 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class ReadAndCountPathResult {
static Map<String, Integer> pathCounter;
public static void readAndCount(File file, PrintWriter targetFilePW) throws IOException {
pathCounter = new HashMap<>();
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String path;
while ((path = bufferedReader.readLine()) != null) {
if (pathCounter.containsKey(path)) {
pathCounter.put(path, pathCounter.get(path) + 1);
}
else {
pathCounter.put(path, 1);
}
}
bufferedReader.close();
fileReader.close();
writePathAndCount(targetFilePW);
}
private static void writePathAndCount(PrintWriter targetFilePW) throws IOException {
for (String key : pathCounter.keySet()) {
targetFilePW.println(key + " " + pathCounter.get(key));
}
}
}