можно ответ подробнее пожалуйста )
это некий мост между байт кодом и символами?
new BufferedReader(new InputStreamReader(...));
Java
что за аргумент InputStreamReader у bufferedReader и зачем его использовать? без него работать не будет?
Не шарю я в Яве, но смысл, кажется, аналогичен C# ...ты, надо полагать, пытаешься зачитать чего-то текстовое...
Если по аналогии с C#, то там есть такое понятие, как FileStream - считай, "универсальный байтовый поток" из файла. Но это - байтовый.
А теперь, Горбат... тьфу, а теперь нам нужно преобразовать это дело в текст (каждый считанный байт). Причем, прошу заметить, в указанной кодировке.
В C# это реализуется StreamReader (его можно использовать или вместо FileStream или вместе с ним), в Яве, судя по гуглу, InputStreamReader - ом.
А BufferedStream в C# - "какбы намекает", что считывать и "буферизировать" в памяти надо по сколько-то байт (без этого он будет использовать размер буфера по умолчанию, т. е. при некоторых раскладах, нещадно тормозить).
BufferedReader - в Яве, я так понимаю, аналогичен. Т. е. он сам ничего "не считывает", но представляет собой буфер для считанного из потока
---
Короче, InputStreamReader, походу, организует тебе байтовый поток с преобразованием в текст, а BufferedReader - сам ничего не делает, просто предоставляет расширенную жилплощадь для считанного (в шарпах можно и без Buffered-а обойтись, тут, я думаю, тоже) .
Если по аналогии с C#, то там есть такое понятие, как FileStream - считай, "универсальный байтовый поток" из файла. Но это - байтовый.
А теперь, Горбат... тьфу, а теперь нам нужно преобразовать это дело в текст (каждый считанный байт). Причем, прошу заметить, в указанной кодировке.
В C# это реализуется StreamReader (его можно использовать или вместо FileStream или вместе с ним), в Яве, судя по гуглу, InputStreamReader - ом.
А BufferedStream в C# - "какбы намекает", что считывать и "буферизировать" в памяти надо по сколько-то байт (без этого он будет использовать размер буфера по умолчанию, т. е. при некоторых раскладах, нещадно тормозить).
BufferedReader - в Яве, я так понимаю, аналогичен. Т. е. он сам ничего "не считывает", но представляет собой буфер для считанного из потока
---
Короче, InputStreamReader, походу, организует тебе байтовый поток с преобразованием в текст, а BufferedReader - сам ничего не делает, просто предоставляет расширенную жилплощадь для считанного (в шарпах можно и без Buffered-а обойтись, тут, я думаю, тоже) .
Петр Гусаров
Спасибо) хорошо обьяснил )
"без ничего" нельзя
это конструктор
у этого класса есть два конструктора, и в обоих случаях надо подсунуть какой-нибудь Reader
это конструктор
у этого класса есть два конструктора, и в обоих случаях надо подсунуть какой-нибудь Reader
InputStreamReader - это поток символов из потока байтов InputStream. То есть преобразование байтов в символы. Следовательно параметр это любой поток байтов, будь то поток байтов при чтении файла, при передачи по сети или при чтении с консоли.
Аргумент - поток из которого читается. Если не указать, откуда читать, то как? Могли бы указать что-то "по умолчанию", но не сделали.
Похожие вопросы
- Стоит ли использовать Iterable вместо Set?
- Какой список лучше использовать ArrayList от LinkedList Java?
- Стоит ли во всех случаях сделать методы класса статичным, если они не используют абсолютно никакое поле класса?
- Как работает рекурсивная функция?
- Что за НЕ использовать запрещено?)
- Try catch finally, когда используют finally?
- Как удалить папку system32 используя язык java
- Массивы Прочитал несколько статей по массивам, но так и не понял, как они работают. Объясните вкратце и понятно, плз
- Вопрос для людей работающих в IT-сфере
- Калькулятор работает за счет Булевой логики. Вопрос -как? Как устроен алгоритм. Я не понимаю.