Класът Java BufferedReader се използва за четене на текст от входен поток, базиран на знаци. Може да се използва за четене на данни ред по ред чрез метода readLine(). Това прави изпълнението бързо. Наследява Reader клас .
Декларация на клас Java BufferedReader
Нека да видим декларацията за клас Java.io.BufferedReader:
public class BufferedReader extends Reader
Конструктори на клас Java BufferedReader
Конструктор | Описание |
---|---|
BufferedReader(Reader rd) | Използва се за създаване на буфериран входен поток от символи, който използва размера по подразбиране за входен буфер. |
BufferedReader(Reader rd, int size) | Използва се за създаване на буфериран входен поток от символи, който използва определения размер за входен буфер. |
Методи на клас Java BufferedReader
Метод | Описание |
---|---|
int read() | Използва се за четене на един знак. |
int read(char[] cbuf, int off, int len) | Използва се за четене на знаци в част от масив . |
булево markSupported() | Използва се за тестване на поддръжката на входния поток за метода за маркиране и нулиране. |
Низ readLine() | Използва се за четене на ред текст. |
булев готов() | Използва се за проверка дали входният поток е готов за четене. |
дълго прескачане (дълго n) | Използва се за пропускане на символите. |
void reset() | Той препозиционира поток на позиция методът за маркиране е бил последно извикан в този входен поток. |
void mark (int readAheadLimit) | Използва се за маркиране на текущата позиция в поток. |
void close() | Той затваря входния поток и освобождава всички системни ресурси, свързани с потока. |
Пример за Java BufferedReader
В този пример ние четем данните от текстовия файл testout.txt използвайки клас Java BufferedReader.
package com.javatpoint; import java.io.*; public class BufferedReaderExample { public static void main(String args[])throws Exception{ FileReader fr=new FileReader('D:\testout.txt'); BufferedReader br=new BufferedReader(fr); int i; while((i=br.read())!=-1){ System.out.print((char)i); } br.close(); fr.close(); } }
Тук предполагаме, че имате следните данни във файла „testout.txt“:
Welcome to javaTpoint.
Изход:
Welcome to javaTpoint.
Четене на данни от конзолата от InputStreamReader и BufferedReader
В този пример ние свързваме потока BufferedReader с потока InputStreamReader за четене на данни ред по ред от клавиатурата.
package com.javatpoint; import java.io.*; public class BufferedReaderExample{ public static void main(String args[])throws Exception{ InputStreamReader r=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(r); System.out.println('Enter your name'); String name=br.readLine(); System.out.println('Welcome '+name); } }
Изход:
Enter your name Nakul Jain Welcome Nakul Jain
Друг пример за четене на данни от конзолата, докато потребителските записи спрат
В този пример ние четем и отпечатваме данните, докато потребителят спре да печата.
package com.javatpoint; import java.io.*; public class BufferedReaderExample{ public static void main(String args[])throws Exception{ InputStreamReader r=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(r); String name=''; while(!name.equals('stop')){ System.out.println('Enter data: '); name=br.readLine(); System.out.println('data is: '+name); } br.close(); r.close(); } }
Изход:
кодове за грешки на linux
Enter data: Nakul data is: Nakul Enter data: 12 data is: 12 Enter data: stop data is: stop