Јава ОутпутСтреамВритер (са примерима)

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

OutputStreamWriterКласа у java.ioпакету могу се користити за претварање података у облику карактера у података у бајтовима облику.

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

OutputStreamWriterКласа ради са другим излазним токовима. Такође је познат као мост између токова бајтова и токова знакова. То је зато што OutputStreamWriterпретвара своје знакове у бајтове.

На пример, неки знакови захтевају да се 2 бајта чувају у складишту. За писање таквих података можемо користити записник излазног тока који претвара знак у одговарајуће бајтове и заједно их чува.

Направите ОутпутСтреамВритер

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

 // Creates an OutputStream FileOutputStream file = new FileOutputStream(String path); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); 

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

Овде користимо подразумевано кодирање знакова за уписивање знакова у излазни ток.

Међутим, можемо одредити врсту кодирања знакова ( УТФ8 или УТФ16 ) која ће се користити за писање података.

 // Creates an OutputStreamWriter specifying the character encoding OutputStreamWriter output = new OutputStreamWriter(file, Charset cs); 

Овде смо Charsetкласу користили за одређивање врсте кодирања знакова.

Методе ОутпутСтреамВритер

OutputStreamWriterКласа обезбеђује имплементација за различитим методама присутни у Writerкласи.

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

  • write() - напише један лик писцу
  • write(char() array) - записује знакове из наведеног низа у писац
  • write(String data) - записује наведени низ писцу

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

 import java.io.FileOutputStream; import java.io.OutputStreamWriter; 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 an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); // Writes string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

У горњем примеру створили смо читач излазног тока користећи излазни ток датотеке. Читач излазног тока повезан је са датотеком оутпут.ткт .

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

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

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

 This is a line of text inside the file. 

гетЕнцодинг () метода

getEncoding()Метод може да се користи да се тип кодирања који се користи да уписују податке у излазни ток. На пример,

 import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.io.FileOutputStream; class Main ( public static void main(String() args) ( try ( // Creates an output stream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an output stream reader with default encoding OutputStreamWriter output1 = new OutputStreamWriter(file); // Creates an output stream reader specifying the encoding OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the output stream System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Оутпут

 Кодирање знакова излаза1: Цп1252 Кодирање знакова излаза2: УТФ8 

У горњем примеру створили смо 2 писача излазних токова под називом оутпут1 и оутпут2.

  • оутпут1 не наводи кодирање знакова. Стога getEncoding()метода враћа подразумевано кодирање знакова.
  • оутпут2 наводи кодирање знакова, УТФ8 . Стога getEncoding()метода враћа наведено кодирање знакова.

Напомена : Charset.forName()Методом смо одредили врсту кодирања знакова. Да бисте сазнали више, посетите Јава Цхарсет (званична Јава документација).

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

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

Остале методе ОутпутСтреамВритер

Метод Опис
flush() приморава да упише све податке присутне у писцу на одговарајуће одредиште
append() убацује наведени лик у тренутни писац

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

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