Gymterview
junior

В каких пакетах расположены классы потоков ввода/вывода?

Классы ввода/вывода в Java расположены в нескольких пакетах, каждый из которых отвечает за свой набор функций.

Пакет Содержимое
java.io Классический потоковый ввод/вывод: InputStream, OutputStream, Reader, Writer, File, Serializable
java.nio Буферы (ByteBuffer, CharBuffer и др.) и основы NIO
java.nio.file NIO.2 API: Path, Files, FileSystem (Java 7+)
java.nio.channels Каналы: FileChannel, SocketChannel, Selector
java.nio.charset Кодировки: Charset, CharsetEncoder, CharsetDecoder
java.util.zip Работа с компрессированными данными: ZipInputStream, GZIPOutputStream

Пакет java.io используется с самых ранних версий Java. Пакет java.nio появился в Java 1.4 как более производительная альтернатива, а java.nio.file — в Java 7 для удобной работы с файловой системой. В современном коде для работы с файлами рекомендуется использовать java.nio.file (Path, Files), а java.io — для потоковой обработки данных.

На собеседовании: назовите как минимум java.io и java.nio. Если помните — добавьте java.nio.file (NIO.2) и java.util.zip для работы со сжатием.