В този урок ще научим за Java FileOutputStream и неговите методи с помощта на примери.
В FileOutputStream
класа на java.io
пакета може да се използва за запис на данни (в байтове) до файловете.
Той разширява OutputStream
абстрактния клас.
Преди да научите за FileOutputStream
, не забравяйте да знаете за Java Files.
Създайте 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);
Тук създадохме изходен поток, който ще бъде свързан с файла, посочен от пътя.
Също така, value е незадължителен булев параметър. Ако е зададено на true
, новите данни ще бъдат добавени в края на съществуващите данни във файла. В противен случай новите данни заместват съществуващите във файла.
2. Използване на обект от файла
FileOutputStream output = new FileOutputStream(File fileObject);
Тук създадохме изходен поток, който ще бъде свързан с файла, посочен от fileObject
.
Методи на FileOutputStream
В FileOutputStream
клас осигурява приложения за различни методи представят в OutputStream
клас.
метод write ()
write()
- записва единичния байт в изходния поток на файлаwrite(byte() array)
- записва байтовете от посочения масив в изходния потокwrite(byte() array, int start, int length)
- записва броя на байтовете, равен на дължината, в изходния поток от масив, започвайки от началото на позицията
Пример: 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).