58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
package questioncomplementaire;
|
|
|
|
import java.io.FileNotFoundException;
|
|
import java.io.PrintWriter;
|
|
import java.util.ArrayList;
|
|
|
|
public class Comparateur {
|
|
|
|
public static void main(String[] arg) {
|
|
PrintWriter out;
|
|
try {
|
|
out = new PrintWriter("resultats.txt");
|
|
} catch (FileNotFoundException e) {
|
|
System.out.println("Impossible d'ouvrpour les résultats.");
|
|
e.printStackTrace();
|
|
return;
|
|
}
|
|
int TAILLE_EXTRAIT = 50;
|
|
String texteClair = Utilitaire.lireTexte("texte1.txt");
|
|
out.println("début du texte original : "
|
|
+ texteClair.substring(0, Math.min(50, texteClair.length())));
|
|
texteClair = Utilitaire.getLettres(texteClair);
|
|
out.println("texte après `getLettres` : "
|
|
+ texteClair.substring(0, Math.min(50, texteClair.length())));
|
|
|
|
ArrayList<AlgoCodage> algoAComparer = new ArrayList<AlgoCodage>();
|
|
algoAComparer.add(new Cesar(3));
|
|
algoAComparer.add(new Morse());
|
|
algoAComparer.add(new Cesar(10));
|
|
algoAComparer.add(new CodageAClef("mon secret"));
|
|
algoAComparer.add(new CodageAClef(""));
|
|
algoAComparer.add(new Huffman(texteClair));
|
|
|
|
String encodee = "";
|
|
for (AlgoCodage algo : algoAComparer) {
|
|
out.println("algorithme : " + algo.toString());
|
|
long avant = System.currentTimeMillis();
|
|
encodee = algo.encode(texteClair);
|
|
long apres = System.currentTimeMillis();
|
|
long duree = apres - avant;
|
|
out.println("\tencodage : "
|
|
+ "\t durée : "
|
|
+ duree
|
|
+ "\t résultat : "
|
|
+ encodee.substring(0, Math.min(50, encodee.length())));
|
|
avant = System.currentTimeMillis();
|
|
String decodee = algo.decode(encodee);
|
|
apres = System.currentTimeMillis();
|
|
duree = apres - avant;
|
|
out.println("\tdécodage : "
|
|
+ "\t durée : "
|
|
+ duree
|
|
+ "\t résultat : "
|
|
+ decodee.substring(0, Math.min(50, decodee.length())));
|
|
}
|
|
out.close();
|
|
}
|
|
}
|