В этом руководстве мы узнаем о Java FileOutputStream и его методах с помощью примеров.
FileOutputStream
Класс java.io
пакета может использоваться для записи данных (в байтах) для файлов.
Он расширяет OutputStream
абстрактный класс.
Прежде чем вы узнаете об этом FileOutputStream
, убедитесь, что знаете о файлах Java.
Создать FileOutputStream
Чтобы создать поток вывода файла, мы должны java.io.FileOutputStream
сначала импортировать пакет. После импорта пакета вот как мы можем создать поток вывода файла на Java.
1. Использование пути к файлу
// Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path);
Здесь мы создали выходной поток, который будет связан с файлом, указанным путем.
Кроме того, значение - это необязательный логический параметр. Если он установлен true
, новые данные будут добавлены в конец существующих данных в файле. В противном случае новые данные перезаписывают существующие данные в файле.
2. Использование объекта файла
FileOutputStream output = new FileOutputStream(File fileObject);
Здесь мы создали выходной поток, который будет связан с файлом, указанным в fileObject
.
Методы FileOutputStream
FileOutputStream
Класс обеспечивает реализации для различных методов представления в OutputStream
классе.
write () Метод
write()
- записывает один байт в выходной поток файлаwrite(byte() array)
- записывает байты из указанного массива в выходной потокwrite(byte() array, int start, int length)
- записывает количество байтов, равное длине, в выходной поток из массива, начиная с позиции start
Пример: FileOutputStream для записи данных в файл
import java.io.FileOutputStream; public class Main ( public static void main(String() args) ( String data = "This is a line of text inside the file."; try ( FileOutputStream output = new FileOutputStream("output.txt"); byte() array = data.getBytes(); // Writes byte to the file output.write(array); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
В приведенном выше примере мы создали поток вывода файла с именем output. Поток вывода файла связан с файлом output.txt .
FileOutputStream output = new FileOutputStream("output.txt");
Для записи данных в файл мы использовали write()
метод.
Здесь, когда мы запускаем программу, файл output.txt заполняется следующим содержимым.
This is a line of text inside the file.
Примечание . getBytes()
Метод, используемый в программе, преобразует строку в массив байтов.
flush () Метод
Чтобы очистить выходной поток, мы можем использовать flush()
метод. Этот метод заставляет выходной поток записывать все данные в место назначения. Например,
import java.io.FileOutputStream; import java.io.IOException; public class Main ( public static void main(String() args) throws IOException ( FileOutputStream out = null; String data = "This is demo of flush method"; try ( out = new FileOutputStream(" flush.txt"); // Using write() method out.write(data.getBytes()); // Using the flush() method out.flush(); out.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Когда мы запускаем программу, файл flush.txt заполняется текстом, представленным строкой data
.
close () Метод
Чтобы закрыть поток вывода файла, мы можем использовать close()
метод. После вызова метода мы не можем использовать методы FileOutputStream
.
Другие методы FileOutputStream
Методы | Описания |
---|---|
finalize() | гарантирует, что close() метод вызывается |
getChannel() | возвращает объект, FileChannel связанный с выходным потоком |
getFD() | возвращает дескриптор файла, связанный с выходным потоком |
Чтобы узнать больше, посетите Java FileOutputStream (официальная документация по Java).