forked from FundDesSoftwarePUCRS/Codifica-Decodifica-String
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.java
More file actions
Latest commit
58 lines (50 loc) · 2.02 KB
/
Copy pathApp.java
File metadata and controls
58 lines (50 loc) · 2.02 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
importjava.util.stream.Collectors;
importjava.util.stream.Stream;
importjava.io.IOException;
importjava.nio.file.Files;
importjava.nio.file.Paths;
importjava.nio.file.Path;
importjava.util.List;
importCodificadores.Codifica;
publicclassApp {
publicstaticvoidexecutaCodificacao(Codificacod, Stringfrase) {
System.out.println("Nome: " + cod.getNomeAutor());
System.out.println("Matricula: " + cod.getMatriculaAutor());
System.out.println("Frase original: " + frase);
Stringcodificada = cod.codifica(frase);
System.out.println("Frase codificada: " + codificada);
Stringdecodificada = cod.decodifica(codificada);
System.out.println("Frase decodificada: " + decodificada);
System.out.println("----------------------------------");
}
publicstaticvoidmain(Stringargs[]) {
PathfilesPath = Paths.get("Codificadores");
System.out.println("Pasta:"+filesPath.toAbsolutePath());
List<String> codificadores = null;
try (Stream<Path> walk = Files.walk(filesPath)) {
codificadores = walk
.map(x -> x.getFileName())
.map(x -> x.toString())
.filter(f -> !f.equals("Codifica.class"))
.filter(f -> f.endsWith(".class"))
.map(s -> s.toString().substring(0, s.lastIndexOf('.')))
.collect(Collectors.toList());
codificadores.forEach(fn -> System.out.println(fn));
} catch (IOExceptione) {
e.printStackTrace();
return;
}
Stringfrase = "Hoje e dia 19 de agosto de 2021";
try {
for (Stringcod : codificadores) {
System.out.println(cod);
Class<?> clazz = Class.forName("Codificadores." + cod);
Objectref = clazz.getConstructor().newInstance();
executaCodificacao((Codifica) ref, frase);
}
} catch (Exceptione) {
e.printStackTrace();
return;
}
}
}