Класс Java.io.Writer в Java
Этот абстрактный класс для записи в символьные потоки. Единственные методы, которые должен реализовывать подкласс, - это write (char [], int, int), flush () и close (). Однако большинство подклассов переопределят некоторые из методов, определенных здесь, чтобы обеспечить более высокую эффективность, дополнительную функциональность или и то, и другое.
Конструктор
- protected Writer (): Создает новую запись потока символов, критические секции которой будут синхронизироваться на самом модуле записи.
- protected Writer (Блокировка объекта): Создает новую запись потока символов, критические секции которой будут синхронизироваться с данным объектом.
Методы:
- Writer append (char c): добавляет указанный символ к этому писателю. Вызов этого метода формы out.append (c) ведет себя точно так же, как и вызов
out.write (c)Синтаксис: public Writer append (char c) выбрасывает IOException Параметры: c - 16-битный символ для добавления Возврат: Этот писатель Броски: IOException
- Writer append (CharSequence csq): добавляет указанную последовательность символов к этому писателю. Вызов этого метода формы out.append (csq) ведет себя точно так же, как и вызов
out.write (csq.toString ())
В зависимости от спецификации toString для символьной последовательности csq, вся последовательность не может быть добавлена. Например, вызов метода toString символьного буфера вернет подпоследовательность, содержимое которой зависит от позиции и ограничения буфера.Синтаксис: public Writer append (CharSequence csq) выбрасывает IOException Параметры: csq - добавляемая последовательность символов. Если csq имеет значение null, затем к этому писателю добавляются четыре символа «ноль». Возврат: Этот писатель Броски: IOException
- Writer append (CharSequence csq, int start, int end): добавляет подпоследовательность указанной последовательности символов к этому записывающему устройству. Добавляет подпоследовательность указанной последовательности символов к этому модулю записи.
Синтаксис: public Writer append (CharSequence csq, int start, намереваться) выбрасывает IOException Параметры: csq - последовательность символов, из которой будет добавлена подпоследовательность. Если csq имеет значение null, символы будут добавлены как если csq содержит четыре символа «ноль». start - индекс первого символа в подпоследовательности end - Индекс символа, следующего за последним символом в подпоследовательности Возврат: Этот писатель Броски: IndexOutOfBoundsException IOException
- abstract void close (): закрывает поток, сначала очищая его. После закрытия потока дальнейшие вызовы write () или flush () вызовут выброс исключения IOException. Закрытие ранее закрытого потока не имеет никакого эффекта.
Синтаксис: public abstract void close () выбрасывает IOException Броски: IOException
- abstract void flush (): очищает поток. Если поток сохранил в буфере какие-либо символы из различных методов write (), немедленно запишите их по назначению. Затем, если этот пункт назначения - другой символ или поток байтов, очистите его. Таким образом, один вызов flush () очистит все буферы в цепочке Writers и OutputStreams.
Синтаксис: public abstract void flush () выбрасывает IOException Броски: IOException
- void write (char [] cbuf): записывает массив символов.
Синтаксис: public void write (char [] cbuf) выбрасывает IOException Параметры: cbuf - массив символов для записи Броски: IOException - Если возникает ошибка ввода-вывода
- abstract void write (char [] cbuf, int off, int len): записывает часть массива символов.
Синтаксис: public abstract void write (char [] cbuf, int off, int len) выбрасывает IOException Параметры: cbuf - Массив символов off - Смещение, с которого нужно начинать писать символы len - Количество символов для записи Броски: IOException
- void write (int c): записывает один символ. Записываемый символ содержится в 16 младших битах заданного целочисленного значения; 16 старших битов игнорируются.
Подклассы, которые намереваются поддерживать эффективный односимвольный вывод, должны переопределить этот метод.Синтаксис: public void write (int c) выбрасывает IOException Параметры: c - int, определяющий символ для записи Броски: IOException
- void write (String str): записывает строку.
Синтаксис: public void write (String str) выбрасывает IOException Параметры: str - строка для записи Броски: IOException
- void write (String str, int off, int len): записывает часть строки.
Синтаксис: public void write (String str, int off, int len) выбрасывает IOException Параметры: str - Строка off - Смещение, с которого нужно начинать писать символы len - Количество символов для записи Броски: IndexOutOfBoundsException
Program :
//Java program demonstrating Writer methods import java.io.IOException; import java.io.PrintWriter; import java.io.Writer; class WriterDemo { public static void main(String[] args) throws IOException { Writer wr= new PrintWriter(System.out); char c[] = { "B" , "C" , "D" , "E" , "F" }; CharSequence cs = "JKL" ; String str = "GHI" ; //illustrating write(int c) wr.write( 65 ); //flushing the stream wr.flush(); //illustrating write(char[] c,int off,int len) wr.write(c); wr.flush(); //illustrating write(String str,int off,int len) wr.write(str); wr.flush(); //illustrating append(Charsequence cs,int start,int end) wr.append(cs); wr.flush(); //illustrating append(int ch) wr.append( "M" ); wr.flush(); //closing the stream wr.close(); } } |
Выход :
ABCDEFGHIJKLM
Автор статьи - Нишант Шарма . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .