SAE21_2022/Ecriture.java

49 lines
1.7 KiB
Java
Raw Permalink Normal View History

import java.io.*;
2023-04-28 20:28:39 +02:00
/**
* La class écriture a pour objectif d'écrire dans un fichier un certain nombre de bits et octets afin de sauvegarder les grilles
2023-04-28 20:28:39 +02:00
* @version 1.1
* @author Matthis Fauvet
*/
public class Ecriture {
private byte[] tabHeader;
private String[] tabOffSet;
private String filePath;
2023-04-28 20:38:28 +02:00
/**
* 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"
2023-04-28 20:38:28 +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
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();
}
}
}
}
}