BufferedReader в Java: Как да четем текст от входния поток



Тази статия обхваща BufferedReader в Java от класа Reader заедно с различни конструктори и методи и описание с примери.

Java осигурява няколко механизма за четене от a файл . Един важен клас, който помага при извършването на тази операция, е BufferedReader . И така, тази статия за BufferedReader в ще ви помогне в разбирането на класа Bufferedreader заедно с примери. Следват темите, разгледани в този блог:

Какво е BufferedReader в Java?

BufferedReader е Java клас който чете текст от входния поток. Той буферира символите, така че да може да получи ефективното четене на символи, масиви и т.н. Той наследява класа на четеца и прави кода ефективен, тъй като можем да четем данните ред по ред с readline () . Има няколко указателя, които трябва да имаме предвид, докато работим с клас BufferedReader в Java.





  • Може да се наложи да посочим размера на буфера, въпреки че по подразбиране е достатъчно голям за всякакви цели.
  • С всяка заявка, направена от четец, се прави съответна, заявка за четене също се прави с основен знак.
  • Винаги се препоръчва да обгърнете клас BufferedReader около всеки четец като InputStreamReaders.
  • За програмите, които използват DataInputaStreams за текстово въвеждане, подходящ BufferedReader замества DataInputStream, за да го локализира.

Декларация за клас на BufferedReader

публичен клас BufferedReader разширява Reader

Конструктори на Java BufferedReader

Строител Описание

BufferedReader (четец на четец)

Този конструктор създава буфериращ поток за въвеждане на символи, който работи върху входен буфер с размер по подразбиране.



BufferedReader (четец на четец, размер int)

Той използва определения размер за входния буфер за буфериране на потока за въвеждане на символи.

Методи и описание

Следват методите с описанието, които имаме за класа Java BufferedReader.



Метод Описание

int read ()

Чете един знак

Низ readLine ()

Чете ред текст

възстановяване на празнотата ()

Премества потока на позицията, където методът на маркиране е бил последно извикан

int четене (char [] cb, int off, int len)

Чете символите в част от масив

boolean markSupported ()

Той тества поддръжката на входния поток за нулиране и метод на маркиране

логически готов ()

Той проверява дали входният поток е готов за четене

дълъг пропуск (дълъг n)

пропуска символите

void close ()

Той затваря входния поток

отметка за празнота (int readAheadLimit)

Използва се за маркиране на текущата позиция в потока

Пример:

import java.io. * публичен клас Пример {public static void main (String args [] хвърля изключение) {FileReader f = new FileReader ('filelocation') BufferedReader b = new BufferedReader (f) int i while ((i = b. read ())! = -1) {System.out.println ((char) i)} b.close () f.close ()

Разлика между скенер и буфериран четец

BufferedReader Скенер

Синхронно и трябва да се използва с множество нишки

Не е синхронен и не се използва с множество нишки

Буферната памет е по-голяма

Буферната памет е по-малка

отидете да функционирате в python

По-бързо от скенера

По-бавно, защото прави синтактичен анализ на входните данни

Няма неяснота, свързана с метода nextline ()

Има много проблеми с метода nextline ().

Използва буфериране за четене на символи от потока за въвеждане на символи

Това е прост скенер за текст, който анализира примитивни типове и низове

Буфериран четец в JDK7 Пример

import java.io. * публичен клас Пример {public static void main (String [] args) {try (BufferedReader b = new BufferedReader (new fileReader ('filename'))) {String s while ((s = b.readLine ( ))! = null) {System.out.println (s)}} catch (IOException e) {e.printStackTrace ()}}}

Четене на данни от конзолата чрез InputStreamReader и BufferedReader в Java

import java.io. * публичен клас Пример {public static void main (String args [] хвърля изключение) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) System.out.println ('Enter Course ') Низ курс = b.readLine () System.out.pritln (' Edureka '+ курс)}}
 Изход: Въведете курс Java Edureka Java

Четенето на данни от конзолата, докато потребителят напише Stop

импортиране на java.io. * публичен клас Пример {public static void main (String args [] хвърля изключение) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) string course = '' while (! name .equals ('stop')) {System.out.println ('enter курс:') course = b.readLine () System.out.println ('Курсът е:' + курс)} b.close () i. близо() } }
 Изход: въведете курс: Курсът е: Java влезте в курс: Курсът е: спиране

Това ни води до края на тази статия, където научихме как можем да четем символи от потока за въвеждане на символи, използвайки класа BufferedReader в Java. Надявам се, че сте наясно с всичко споделено с вас в този урок.

Ако сте намерили тази статия за „BufferedReader в Java“ подходяща, разгледайте доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят.

Ние сме тук, за да ви помогнем при всяка стъпка по вашето пътуване и да изготвим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни като Хибернация & .

Ако срещнете някакви въпроси, не се колебайте да зададете всичките си въпроси в раздела за коментари на „BufferedReader в Java“ и нашият екип ще се радва да отговори.