FileOutStream là một trong luồng dữ liệu cổng đầu ra dùng để làm ghi tài liệu với File hoặc FileDescriptor. FileOutputStream được thực hiện để ghi những luồng tài liệu thô bên dưới dạng byte bởi vì vậy vẫn xuất sắc mang lại ngôi trường thích hợp những tài liệu không hẳn dạng text như thể pdf, excel, image etc.
Bạn đang xem: Cách ghi file trong java
Khởi chế tạo ra FileOutputStream
FileOutputStream cung ứng những method được ghi tài liệu bên dưới dạng byte nhưng lại trước tiên chúng ta và một instance của nó, bên dưới đó là các phương pháp khởi sinh sản FileOutputStream.
FileOutputStream(File file) – Khởi tạo FileOutputStream xuất phát điểm từ một instance file. Nếu file ko trường thọ sẽ được trên new. Nếu file vẫn mãi sau dữ liệu được ghi tự FileOutputStream đang ghi đè lên ngôn từ trước kia.
FileOutStream(File tệp tin, boolean append) – Khởi chế tạo ra FileOutoutStream từ file truyền vào, ví như appover là true tài liệu ghi từ bỏ FileOutputStream đang ghi vào thời gian cuối file, ngược lại dữ liệu sẽ tiến hành ghi đè lên trên.
FileOutputStream(FileDescriptor fdObj) – Khởi chế tạo ra FileOutputStream xuất phát điểm từ một instance FileDescriptor. Nếu file ko tồn tại sẽ được trên mới. Nếu tệp tin sẽ tồn tại dữ liệu được ghi từ bỏ FileOutputStream sẽ ghi đè lên trên câu chữ trước đó
FileOutputStream(String pathName) – Khởi chế tác FileOutputStream từ đường truyền. Cách hoạt động như là cùng với FileOutputStream(File file).
FileOutputStream(String pathName, boolean append) –Khởi chế tác FileOutputStream trường đoản cú đường dẫn. Cách chuyển động kiểu như với FileOutputStream(File tệp tin, booleab append).
Các method vào FileOutputStream
close()
Đóng toàn bộ các kết nối của FileOutputStream với các tài nguyên nó kết nối.
Xem thêm: Doanh Nhân Chu Đăng Khoa Là Ai ? Gia Thế Khủng Của Người Con Xứ Nghệ
finalize(()
Đảm nói rằng close() được gọi với không còn kết nối nào giữa FileOutputStream cùng với các tài nguyên khác.
getChanel()
Trả về FileChannel object độc nhất vô nhị liên kết với FileOutputStream.
getFD()
Trả về FileDescriptor object của FileOutputStream.
write(int b)
Ghi một byte b xuống OutputStream.
write(byte<> b)
Ghi một mảng byte b xuống OutputStream.
write(byte<> b, int off, int len)
Ghi một mảng byte b xuống OutputStream bắt đầu tại địa điểm off và ghi buổi tối nhiều len byte.
Ghi tài liệu vào tệp tin sử dụng FileOutputStream
import java.io.File;import java.io.FileOutputStream; class FileOutputStreamWrite public static void main(String<> args) File file = null; FileOutputStream fileOutputStream = null; String data = "Hello World."; try file = new File("/Users/nguyenthanhhai/Desktop/test.txt"); fileOutputStream = new FileOutputStream(file); //create tệp tin if not exists if (!tệp tin.exists()) tệp tin.createNewFile(); //fetch bytes from data byte<> bs = data.getBytes(); fileOutputStream.write(bs); fileOutputStream.flush(); fileOutputStream.close(); System.out.println("File written successfully."); catch (Exception e) e.printStackTrace(); finally try if (fileOutputStream != null) fileOutputStream.close(); catch (Exception e2) e2.printStackTrace();
ví dụ như finalize
finalize() dùng để làm bảo vệ rằng tất các các liên kết mang đến FileOutStream đã được đóng góp. Nếu ko nó thể nỉm ra một exceptionimport java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;class FileOutputStreamFinalizeExample extends FileOutputStream public FileOutputStreamFinalizeExample(File file) throws FileNotFoundException super(file); public static void main(String<> args) File tệp tin = null; try tệp tin = new File("/Users/nguyenthanhhai/Desktop/thử nghiệm.txt"); FileOutputStreamFinalizeExample fileOutputStream = new FileOutputStreamFinalizeExample(file); //create tệp tin if not exists if (!tệp tin.exists()) tệp tin.createNewFile(); //closing fileOutputStream fileOutputStream.finalize(); //try khổng lồ write data fileOutputStream.write(123); fileOutputStream.flush(); fileOutputStream.close(); System.out.println("File written successfully."); catch (Exception e) e.printStackTrace(); Output:
java.io.IOException: Stream Closedat java.io.FileOutputStream.write(Native Method)at java.io.FileOutputStream.write(FileOutputStream.java:290)at FileOutputStreamFinalizeExample.main(Main.java:23)
Chúng ta chưa gọi close() nhằm đóng góp kết nối mà vẫn điện thoại tư vấn finalize() đề xuất cảm nhận exception như trên.