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

Класс FileOutputStream

Класс FileOutputStream наследуется от абстрактного класса OutputStream и используется для записи сырых байтов в файл. В первый параметр конструктора мы передаем объект File или строку с путем к файлу, во второй (необязательный) - флаг append типа boolean. Если флаг равен true, данные дописываются в конец файла, если false или параметр не указан - файл перезаписывается с нуля. Если файла не существует, он будет создан автоматически. После завершения работы поток необходимо закрыть методом close.

Синтаксис

new FileOutputStream(String name) new FileOutputStream(String name, boolean append) new FileOutputStream(File file) new FileOutputStream(File file, boolean append)

Основные методы

Класс FileOutputStream предоставляет следующие методы:

write - записывает один байт или массив байтов в поток;
flush - принудительно сбрасывает буферизованные данные в файл;
close - закрывает поток и освобождает ресурсы.

Пример

Давайте запишем строку "abcde" в файл test.txt:

import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try (FileOutputStream fos = new FileOutputStream("test.txt")) { String str = "abcde"; fos.write(str.getBytes()); System.out.println("Done"); } catch (IOException e) { System.out.println("Error: " + e.getMessage()); } } }

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

"Done"

Пример

Давайте допишем строку "12345" в конец уже существующего файла, передав вторым параметром true:

import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try (FileOutputStream fos = new FileOutputStream("test.txt", true)) { String str = "12345"; fos.write(str.getBytes()); System.out.println("Appended"); } catch (IOException e) { System.out.println("Error: " + e.getMessage()); } } }

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

"Appended"

Пример

Давайте запишем в файл массив байтов, полученный из числовых значений:

import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try (FileOutputStream fos = new FileOutputStream("data.bin")) { byte[] data = {1, 2, 3, 4, 5}; fos.write(data); fos.flush(); System.out.println("Written"); } catch (IOException e) { System.out.println("Error: " + e.getMessage()); } } }

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

"Written"

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

  • класс FileInputStream,
    который читает байты из файла
  • класс OutputStream,
    базовый класс для всех байтовых потоков вывода
  • метод write,
    который записывает байты в поток
  • метод close,
    который закрывает поток вывода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить