English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы будем изучать Java FileOutputStream и его методы с помощью примеров.
Класс FileOutputStream из пакета java.io может использоваться для записи данных (в виде байтов) в файл.
Он наследуется от абстрактного класса OutputStream.
Перед изучением FileOutputStream, пожалуйста, убедитесь, что вы понимаетеJava файл.
Чтобы создать поток вывода файла,我们必须 сначала импортировать пакет java.io.FileOutputStream. После импорта пакета можно использовать Java для создания потока вывода файла.
1. Использование пути к файлу
// С параметром boolean FileOutputStream output = new FileOutputStream(String path, boolean value); // Без параметра boolean FileOutputStream output = new FileOutputStream(String path);
Здесь мы создаем поток вывода, который будет связан с указанным путем к файлу.
Кроме того, значение параметра value является опционным булевым значением. Если его установить в true, то новые данные будут добавлены в конец существующих данных файла. В противном случае, новые данные заменят существующие данные в файле.
2. Использование объекта файла
FileOutputStream output = new FileOutputStream(File fileObject);
Здесь мы создали поток вывода, который будет связан с файлом, указанным fileObject.
Класс FileOutputStream предоставляет реализации различных методов,出现的OutputStream.
write() - Записывает один байт в поток вывода byte
write(byte[] array) - Записывает байты из заданного массива в поток вывода
write(byte[] array, int start, int length) - Записывает из массива байтов с начала start и длиной length
import java.io.FileOutputStream; public class Main { public static void main(String[] args) { String data = "Это строка текста в файле."; try { FileOutputStream output = new FileOutputStream("output.txt"); byte[] array = data.getBytes(); //Записать байты в файл output.write(array); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
В предыдущем примере мы создали файловый поток output.output.txtСсылка.
FileOutputStream output = new FileOutputStream("output.txt");
Чтобы записать данные в файл, мы используем метод write().
Здесь, когда мы запускаем программу:output.txtФайл будет записан с содержимым:
Это строка текста в файле.
Внимание:В программе используется метод getBytes() для преобразования строки в массив байтов.
Чтобы очистить поток вывода, можно использовать метод 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 = "这是flush方法的演示"; try { out = new FileOutputStream("flush.txt"); //использование метода write() out.write(data.getBytes()); //использование метода flush() out.flush(); out.close(); } catch(Exception e) { e.getStackTrace(); } } }
когда мы запускаем программу, файлflush.txtнасыщен текстом, представленным строкой data.
чтобы закрыть поток ввода-вывода файла, можно использовать метод close(). После вызова этого метода мы не можем использовать методы FileOutputStream.
метод | описание содержимого |
---|---|
finalize() | обеспечьте вызов метода close() |
getChannel() | возврат объекта FileChannel, связанного с потоком ввода-вывода |
getFD() | возврат файлового описателя, связанного с потоком ввода-вывода |