Ява читатель против потока

Я читал о вводе-выводе 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();
 }

Как я знаю, потоки используются для извлечения входных данных из постоянно текущих данных.

Теперь меня смущает разница между потоками и читателями; и если мы обертываем поток с помощью буферизованного считывателя - как он разбивает строки, поскольку поток - это непрерывно текущая вещь.

Я нашел некоторые справочные сайты, такие какэтот сайт. Но я не могу понять разницу.

Пожалуйста, может кто-нибудь, пожалуйста, помогите мне понять?

Ответы на вопрос(1)

Ваш ответ на вопрос