РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
806 of 1163 menu

Метод newInputStream

Метод newInputStream класса Files открывает указанный файл и возвращает объект InputStream, через который можно читать содержимое файла побайтово. В первый параметр мы передаем путь к файлу (объект Path). Во второй параметр можно передать опции открытия файла в виде OpenOption. Если опции не указаны, файл открывается только для чтения. Полученный поток необходимо закрывать после использования, например, через конструкцию try-with-resources.

Синтаксис

Files.newInputStream(path, [options])

Пример

Давайте откроем файл test.txt и прочитаем из него один байт:

import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path path = Path.of("test.txt"); try (InputStream is = Files.newInputStream(path)) { int b = is.read(); System.out.println(b); } } }

Результат выполнения кода:

97

Пример

Давайте прочитаем все байты из файла test.txt и выведем их в консоль:

import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path path = Path.of("test.txt"); try (InputStream is = Files.newInputStream(path)) { byte[] bytes = is.readAllBytes(); System.out.println(new String(bytes)); } } }

Результат выполнения кода:

"abcde"

Пример

Давайте скопируем содержимое одного файла в другой, используя входной и выходной потоки:

import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path src = Path.of("source.txt"); Path dst = Path.of("dest.txt"); try (InputStream is = Files.newInputStream(src); OutputStream os = Files.newOutputStream(dst)) { is.transferTo(os); } String res = Files.readString(dst); System.out.println(res); } }

Результат выполнения кода:

"abcde"

Смотрите также

  • метод newOutputStream,
    который открывает выходной поток для записи
  • метод readAllBytes,
    который читает все байты из файла
  • метод readString,
    который читает содержимое файла в строку
  • метод newBufferedReader,
    который открывает буферизованный поток для чтения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить