В чем разница между Reader и InputStream? А когда что использовать? Если я могу использовать Reader для чтения символов, почему я буду использовать поток ввода, я думаю, для чтения объектов?