2023-04-26 10:54:36 +02:00
|
|
|
import java.io.*;
|
2023-04-28 20:28:39 +02:00
|
|
|
/**
|
|
|
|
* La class Attente inclu un KeyListener, cette classe a pour objectif d'attendre une entré sur la touche espace du clavier
|
|
|
|
* pour regarder le parcours qu'emprunte l'algorithme
|
|
|
|
* @version 1.1
|
|
|
|
* @author Matthis Fauvet
|
|
|
|
*/
|
2023-04-25 11:42:59 +02:00
|
|
|
public class Ecriture {
|
2023-04-26 10:54:36 +02:00
|
|
|
private byte[] tabHeader;
|
|
|
|
private String[] tabOffSet;
|
|
|
|
private String filePath;
|
2023-04-25 11:42:59 +02:00
|
|
|
|
2023-04-26 10:54:36 +02:00
|
|
|
public Ecriture(byte[] tabBytes, String[] tabOctetsBinaires, String chemin) {
|
|
|
|
this.tabHeader = tabBytes;
|
|
|
|
this.tabOffSet = tabOctetsBinaires;
|
|
|
|
this.filePath = chemin;
|
|
|
|
|
|
|
|
FileOutputStream fichierSortie = null;
|
|
|
|
try {
|
|
|
|
fichierSortie = new FileOutputStream(this.filePath);
|
|
|
|
|
|
|
|
// Ecriture du tableau de bytes dans le fichier
|
2023-04-26 13:13:15 +02:00
|
|
|
fichierSortie.write(this.tabHeader);
|
2023-04-26 10:54:36 +02:00
|
|
|
|
|
|
|
// Ecriture du tableau d'octets binaires dans le fichier
|
|
|
|
for (String flags : this.tabOffSet) {
|
|
|
|
fichierSortie.write((byte) Integer.parseInt(flags, 2));
|
2023-04-25 11:42:59 +02:00
|
|
|
}
|
2023-04-26 10:54:36 +02:00
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} finally {
|
|
|
|
// Fermeture du fichier
|
|
|
|
if (fichierSortie != null) {
|
|
|
|
try {
|
|
|
|
fichierSortie.close();
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
2023-04-25 11:42:59 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|