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для работы со сжатием.