Добрый день. Написал код без BufferedReader а через массив байт(он часто используется в задачах)
Я правильно понимаю что byte[] buffer = inp.readAllBytes(); можно использовать когда информации очень мало нужно передать, но лучше делать через BufferedReader ?
public class Solution {
public static void main(String[] args) throws IOException {
URL url = new URL("http://httpbin.org/post");
URLConnection con = url.openConnection();
con.setDoOutput(true);
OutputStream out= con.getOutputStream();
InputStream inp = con.getInputStream();
byte[] buffer = inp.readAllBytes();
System.out.println(buffer);
}
}
Mikhail Manukovsky
32 уровень
Когда нужно использовать Массив байт а когда BufferedReader ?
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр Web Java Developer
28 октября 2021, 11:22
Если нужно прочитать строки (ну стопудова будет текстовая информация) - тогда BufferedReader, если читаешь данные, например, картинку, то нужно работать непосредственно с байтами (если инфы много, то readAllBytes не поможет, будет выброшено исключение, поэтому инфу нужно читать частями, чтобы не переполнить оперативную память, heap и прочее..)
+1
Константин Смирнов
6 июля 2021, 16:05
Если коротко, то BufferedReader экономит ресурсы. Вы снижаете частоту обращений к входящему потоку.
+1
hidden #2322530
16 июня 2021, 08:08
Я правильно понимаю что byte[] buffer = inp.readAllBytes(); можно использовать когда информации очень мало нужно передать,
метод появился только в Java9
BufferedReader вернет тебе строки, а не массив байт)
+1