écrire des bytes dans un fichier
sepehr_gsfc
Messages postés
9
Statut
Membre
-
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"
}
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:
- écrire des bytes dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
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
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