Ява читатель против потока
Я читал о вводе-выводе Java и обнаружил некоторые интересные области, такие как потоки, читатели и т. Д.
InputStream input = new FileInputStream("input-file.txt");
int data = input.read();
while(data != -1){
data = input.read();
}
Я могу сделать то же самое, используя Readers следующим образом:
Reader reader = new FileReader("input-file.txt");
int data = reader.read();
while(data != -1){
char dataChar = (char) data;
data = reader.read();
}
Как я знаю, потоки используются для извлечения входных данных из постоянно текущих данных.
Теперь меня смущает разница между потоками и читателями; и если мы обертываем поток с помощью буферизованного считывателя - как он разбивает строки, поскольку поток - это непрерывно текущая вещь.
Я нашел некоторые справочные сайты, такие какэтот сайт. Но я не могу понять разницу.
Пожалуйста, может кто-нибудь, пожалуйста, помогите мне понять?