В предыдущем разделе мы узнали, как создать поток вывода байтов файла. В этом разделе мы продолжим изучать, как использовать поток вывода для записи байтов и закрытия потока.
Целью выходного потока является предоставление канала к месту назначения. Программа может записывать данные в программу к месту назначения через этот канал. Поток байтов файла может вызывать метод записи, унаследованный от родительского класса, для последовательной записи файлов. Поток FileOutStream записывает содержимое в файл последовательно, то есть, пока поток не закрыт, каждый раз при вызове метода записи содержимое записывается в файл последовательно, пока поток не будет закрыт.
Метод записи потока вывода байтов записывает данные в место назначения в байтах.
Выходной поток вызывает этот метод для записи одного байта в пункт назначения.
Выходной поток вызывает этот метод для записи массива байтов в пункт назначения.
Запишите len байтов из заданного массива байтов, начиная со смещения, до места назначения.
Закройте выходной поток.
Примечание . Поток FileOutputStream записывает файлы последовательно, пока поток не закрыт, содержимое последовательно записывается в место назначения каждый раз, когда вызывается метод записи, пока поток не будет закрыт.
Прежде чем операционная система сохранит байты, записанные программой в выходной поток, на диск, они иногда сохраняются в буфере памяти. Вызвав метод close() , вы можете убедиться, что операционная система записывает содержимое буфера потока. Место назначения, то есть закрытие выходного потока, может сбросить содержимое буфера, используемого потоком, обычно в файл на диске.
Например:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){byte[]a=Happy New Year.getBytes();byte[]b=HappyNewYear.getBytes();Filefile=newFile(a.txt);// вывод Назначение try{OutputStreamout=newFileOutputStream(file); //Укажите на целевой выходной поток System.out.println(file.getName()+size:+file.length()+bytes);out.write(a) ;//Записываем данные в место назначения out.close();out=newFileOutputStream(file,true);//Подготавливаемся к добавлению содержимого в конец файла System.out.println(file.getName()+size:+ file .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);}}}
Результаты бега следующие:
Размер a.txt: 0 байт Размер a.txt: 12 байт Размер a.txt: 26 байт