En la sección anterior, aprendimos cómo construir un flujo de salida de bytes de archivo. En esta sección, continuamos aprendiendo cómo usar el flujo de salida para escribir bytes y cerrar el flujo.
El propósito del flujo de salida es proporcionar un canal al destino. El programa puede escribir datos en el programa al destino a través de este canal. El flujo de bytes del archivo puede llamar al método de escritura heredado de la clase principal para escribir archivos secuencialmente. La secuencia FileOutStream escribe contenido en el archivo de forma secuencial, es decir, siempre que la secuencia no esté cerrada, cada vez que se llama al método de escritura , el contenido se escribe en el archivo secuencialmente hasta que se cierra la secuencia.
El método de escritura del flujo de salida de bytes escribe datos en el destino en bytes.
El flujo de salida llama a este método para escribir un solo byte en el destino.
El flujo de salida llama a este método para escribir una matriz de bytes en el destino.
Escriba len bytes de la matriz de bytes dada comenzando en el desplazamiento hasta el destino.
Cierre el flujo de salida.
Nota : La secuencia FileOutputStream escribe archivos de forma secuencial, siempre que la secuencia no esté cerrada, el contenido se escribe secuencialmente en el destino cada vez que se llama al método de escritura hasta que se cierra la secuencia.
Antes de que el sistema operativo guarde en el disco los bytes escritos por el programa en el flujo de salida, a veces se almacenan en el búfer de memoria. Al llamar al método close() , puede asegurarse de que el sistema operativo escriba el contenido del búfer de flujo. El destino, es decir, cerrar la secuencia de salida puede vaciar el contenido del búfer utilizado por la secuencia, generalmente en un archivo de disco.
Por ejemplo:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){byte[]a=Feliz Año Nuevo.getBytes();byte[]b=HappyNewYear.getBytes();Filefile=newFile(a.txt);// salida El destino try{OutputStreamout=newFileOutputStream(file); //Apunta al flujo de salida de destino System.out.println(file.getName()+size:+file.length()+bytes);out.write( a) ;//Escribe datos en el destino out.close();out=newFileOutputStream(file,true);//Prepárate para agregar contenido al final del archivo System.out.println(file.getName()+size:+ archivo .length()+bytes);out.write(b,0,b.length);System.out.println(file.getName()+size:+file.length()+bytes);out. );}catch(IOExceptione){System.out.println(Error+e);}}}
Los resultados de ejecución son los siguientes:
Tamaño de a.txt: 0 bytes Tamaño de a.txt: 12 bytes Tamaño de a.txt: 26 bytes