49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
import java.io.*;
|
|
/**
|
|
* La class écriture a pour objectif d'écrire dans un fichier un certain nombre de bits et octets afin de sauvegarder les grilles
|
|
* @version 1.1
|
|
* @author Matthis Fauvet
|
|
*/
|
|
public class Ecriture {
|
|
private byte[] tabHeader;
|
|
private String[] tabOffSet;
|
|
private String filePath;
|
|
|
|
/**
|
|
* Méthode constructeur qui va tout écrire dans le fichier
|
|
* @param tabBytes Dans ce tableau sont stockés les 5 premier octets a écrire dans le fichier
|
|
* @param tabOctetsBinaires dans ce String, on a tous les autres bits que l'on écrira en octet dans le fichier
|
|
* @param chemin c'est le chemin d'accès au fichier pour pouvoir ouvrir un flux d'entrée et donc d'"crire des choses"
|
|
*/
|
|
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
|
|
fichierSortie.write(this.tabHeader);
|
|
|
|
// Ecriture du tableau d'octets binaires dans le fichier
|
|
for (String flags : this.tabOffSet) {
|
|
fichierSortie.write((byte) Integer.parseInt(flags, 2));
|
|
}
|
|
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
} finally {
|
|
// Fermeture du fichier
|
|
if (fichierSortie != null) {
|
|
try {
|
|
fichierSortie.close();
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|