Интересно очень. Спасибо за лекцию. Интересен стал такой момент. Если в программе предполагается в разных местах использовать потоки ввода/вывода. То для каждой отдельной ситуации нужно отдельно открывать (и после закрывать) свой поток, или лучше переиспользовать имеющийся? С одной стороны мы вроде как не занимаемся открытием и закрытием из раза в раз, что должно быть не самой дешевой операцией, но с другой стороны если пользуемся одним потоком ввода/вывод, то как я понимаю, есть шанс нарваться на тот самый случай, когда данные попали в буфер и затерялись. Или try-with-resources полностью решает эту проблему и мы можем для, например, всех чтений использовать один объект InputStream?
работаем с байтами: InputStream, OutputStream
работаем с символами: Reader, Writer
Это абстрактные классы.
0:00:00 Введение
0:03:17 InputStream: read, skip, reset и т.д.
0:13:34 InputStream: современные методы: readAllBytes, skipNBytes и т.д.
0:16:13 InputStream: реализации: FileInputStream, ByteArrayInputStream, ZipFile и т.д.
0:27:08 Управление внешними ресурсами: close, try with resources и т.д.
0:38:35 Управление внешними ресурсами: устаревший finalize
0:39:34 Управление внешними ресурсами: ресурсы не управлямые джавой
0:50:25 OutputStream: write, flush и т.д.
0:53:01 OutputStream: реализации: FileOutputStream, ByteArrayOutputStream и т.д.
1:01:00 Reader: read, skip, reset и т.д.
1:03:47 Reader: реализации: InputStreamReader, StringReader и т.д.
1:07:21 Writer: write, flush и т.д.
1:07:44 Writer: реализации: OutputStreamWriter, StringWriter и т.д.
1:08:45 java.io: пути к файлам, поиски
1:23:56 java.nio чтение каталога через stream
1:26:13 Path.get, Paths.of
1:26:08 Path: getFileName, getParent и т.д.
1:32:22 Files: copy, move и т.д.
1:38:14 еще: ByteBuffer, RandomAccessFile и т.д.
хоть кто-то конечно слушал :) спасибо за лекцию!
Очень нужный канал!👍
Интересно очень. Спасибо за лекцию. Интересен стал такой момент. Если в программе предполагается в разных местах использовать потоки ввода/вывода. То для каждой отдельной ситуации нужно отдельно открывать (и после закрывать) свой поток, или лучше переиспользовать имеющийся? С одной стороны мы вроде как не занимаемся открытием и закрытием из раза в раз, что должно быть не самой дешевой операцией, но с другой стороны если пользуемся одним потоком ввода/вывод, то как я понимаю, есть шанс нарваться на тот самый случай, когда данные попали в буфер и затерялись. Или try-with-resources полностью решает эту проблему и мы можем для, например, всех чтений использовать один объект InputStream?
Видеохостинг удалил мое сообщение с вопросом о работе с DataInputStream
ужс