Dans la section précédente, nous avons appris à construire un flux de sortie d'octets de fichier. Dans cette section, nous continuons à apprendre à utiliser le flux de sortie pour écrire des octets et fermer le flux.
Le but du flux de sortie est de fournir un canal vers la destination. Le programme peut écrire des données dans le programme vers la destination via ce canal. Le flux d'octets du fichier peut appeler la méthode d'écriture héritée de la classe parent pour écrire les fichiers de manière séquentielle. Le flux FileOutStream écrit le contenu dans le fichier de manière séquentielle, c'est-à-dire que tant que le flux n'est pas fermé, chaque fois que la méthode d'écriture est appelée, le contenu est écrit dans le fichier de manière séquentielle jusqu'à la fermeture du flux.
La méthode d'écriture du flux de sortie d'octets écrit les données vers la destination en octets.
Le flux de sortie appelle cette méthode pour écrire un seul octet vers la destination.
Le flux de sortie appelle cette méthode pour écrire un tableau d'octets vers la destination.
Écrivez len octets à partir du tableau d'octets donné en commençant par le décalage jusqu'à la destination.
Fermez le flux de sortie.
Remarque : Le flux FileOutputStream écrit les fichiers de manière séquentielle Tant que le flux n'est pas fermé, le contenu est écrit séquentiellement vers la destination à chaque fois que la méthode d'écriture est appelée jusqu'à la fermeture du flux.
Avant que le système d'exploitation n'enregistre les octets écrits par le programme dans le flux de sortie sur le disque, ils sont parfois stockés dans la mémoire tampon. En appelant la méthode close() , vous pouvez vous assurer que le système d'exploitation écrit le contenu du tampon de flux. La destination, c'est-à-dire la fermeture du flux de sortie, peut vider le contenu du tampon utilisé par le flux, généralement vers un fichier disque.
Par exemple:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){byte[]a=Bonne année.getBytes();byte[]b=HappyNewYear.getBytes();Filefile=newFile(a.txt);// output La destination try{OutputStreamout=newFileOutputStream(file); //Pointez vers le flux de sortie de destination System.out.println(file.getName()+size:+file.length()+bytes);out.write( a) ;//Écrire les données vers la destination out.close();out=newFileOutputStream(file,true);//Préparer l'ajout de contenu à la fin du fichier System.out.println(file.getName()+size:+ fichier .length()+bytes);out.write(b,0,b.length);System.out.println(file.getName()+size:+file.length()+bytes);out( );}catch(IOExceptione){System.out.println(Erreur+e);}}}
Les résultats en cours d'exécution sont les suivants :
Taille d'un.txt : 0 octets Taille d'un.txt : 12 octets Taille d'un.txt : 26 octets