Јава БуффередОутпутСтреам (са примерима)

У овом упутству ћемо научити о Јави БуффередОутпутСтреам и њеним методама уз помоћ примера.

BufferedOutputStreamКласа у java.ioпакету се користи са другим излазним струјама да ефикасније пишу податке (у бајтовима).

Проширује OutputStreamапстрактну класу.

Рад БуффередОутпутСтреам

BufferedOutputStreamОдржава интерну пуфер 8192 бајтова .

Током операције писања, бајтови се уписују у интерни међуспремник уместо на диск. Једном када се бафер напуни или ток затвори, цео бафер се записује на диск.

Дакле, број комуникације на диск је смањен. Због тога се писање бајтова брже користи BufferedOutputStream.

Направите БуффередОутпутСтреам

Да бисмо креирали BufferedOutputStream, прво морамо да увозимо java.io.BufferedOutputStreamпакет. Једном када увозимо пакет овде, ево како можемо створити излазни ток.

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String path); // Creates a BufferedOutputStream BufferedOutputStream buffer = new BufferOutputStream(file); 

У горњем примеру смо креирали BufferdOutputStreamименовани бафер са FileOutputStreamименованом датотеком.

Овде унутрашњи бафер има подразумевану величину од 8192 бајта. Међутим, можемо одредити и величину интерног бафера.

 // Creates a BufferedOutputStream with specified size internal buffer BufferedOutputStream buffer = new BufferOutputStream(file, int size); 

Ме успремник ће помоћи бржем писању бајтова у датотеке.

Методе БуффередОутпутСтреам

BufferedOutputStreamКласа пружа имплементације за различите метода у OutputStreamкласи.

метода врите ()

  • write() - уписује један бајт у интерни бафер излазног тока
  • write(byte() array) - уписује бајтове из наведеног низа у излазни ток
  • write(byte() arr, int start, int length) - записује број бајтова једнак дужини у излазни ток из низа почев од почетка положаја

Пример: БуффередОутпутСтреам за писање података у датотеку

 import java.io.FileOutputStream; import java.io.BufferedOutputStream; public class Main ( public static void main(String() args) ( String data = "This is a line of text inside the file"; try ( // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a BufferedOutputStream BufferedOutputStream output = new BufferedOutputStream(file); byte() array = data.getBytes(); // Writes data to the output stream output.write(array); output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

У горњем примеру смо креирали ме успремљени излазни ток под називом оутпут заједно са FileOutputStream. Излазни ток повезан је са датотеком оутпут.ткт .

 FileOutputStream file = new FileOutputStream("output.txt"); BufferedOutputStream output = new BufferedOutputStream(file); 

Да бисмо записали податке у датотеку, користили смо write()методу.

Овде када покренемо програм, датотека оутпут.ткт је испуњена следећим садржајем.

 This is a line of text inside the file. 

Напомена : getBytes()Метода коришћена у програму претвара низ у низ бајтова.

флусх () метода

Да бисмо очистили унутрашњи бафер, можемо користити flush()методу. Ова метода приморава излазни ток да упише све податке присутне у међуспремник у одредишну датотеку. На пример,

 import java.io.FileOutputStream; import java.io.BufferedOutputStream; public class Main ( public static void main(String() args) ( String data = "This is a demo of the flush method"; try ( // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(" flush.txt"); // Creates a BufferedOutputStream BufferedOutputStream buffer = new BufferedOutputStream(file); // Writes data to the output stream buffer.write(data.getBytes()); // Flushes data to the destination buffer.flush(); System.out.println("Data is flushed to the file."); buffer.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Оутпут

 Подаци се пребацују у датотеку. 

Када покренемо програм, датотека флусх.ткт се попуњава текстом представљеним низом података.

цлосе () Метода

Да бисмо затворили ме успремљени излазни ток, можемо користити close()методу. Једном када се метода позове, не можемо користити излазни ток за уписивање података.

Да бисте сазнали више, посетите Јава БуффередОутпутСтреам (званична Јава документација).

Занимљиви Чланци...