écrire des bytes dans un fichier

sepehr_gsfc Messages postés 9 Statut Membre -  
sepehr_gsfc Messages postés 9 Statut Membre -
Bonjour,

J'essaye d'écrire des bytes dans un fichier mais il n'existe aucune données dans mon fichier après l'écriture.

Je vérifie bien que "data" n'est pas vide en l'affichant grâce à la méthode "new String(byte[])" et je vois afficher pleins de caractères blizzard.

voici mon code :

public SIGNALMessage(byte[] data) throws IOException {

BufferedOutputStream bos = null;
String fileName = "out.wav";
bos = new BufferedOutputStream(new FileOutputStream(fileName, true));
bos.write(data);

System.out.println(new String(data)); //Afficher "data"
}
A voir également:

1 réponse

sepehr_gsfc Messages postés 9 Statut Membre
 
J'ai résolu le pb grâce à une gentille personne.

Voici la réponse :

try {
String fileName = "out.wav";
File dest = new File(fileName);
dest.createNewFile();

ByteArrayInputStream sourceFile = new ByteArrayInputStream(data);

try {
FileOutputStream destinationFile = new FileOutputStream(dest);

try {
byte buffer[]=new byte[512*1024];
int nbLecture;

while( (nbLecture = sourceFile.read(buffer)) != -1 ) {
destinationFile.write(buffer, 0, nbLecture);
}
} finally { destinationFile.close(); }
} finally { sourceFile.close(); }
} catch (IOException e) {
e.printStackTrace();
}


inspiré de :
https://java.developpez.com/faq/javaio?page=Gestion-des-fichiers#LANGAGE_FICHIER_copier
0