Trong bài viết này, chúng ta sẽ cùng tìm hiểu về lớp OutputStream trong Java và các phương thức của nó với sự trợ giúp của ví dụ dẫn chứng.
Lớp OutputStream
Lớp OutputStream của gói java.io là một lớp cha trừu tượng đại diện cho một luồng đầu ra gồm các byte. Vì OutputStream là một lớp trừu tượng nên bản thân nó không có thao tác với nhiệm vụ nào cả. Tuy nhiên, các lớp con của nó có thể được sử dụng để thực hiện việc ghi dữ liệu.
Các lớp con của OutputStream
Để sử dụng chức năng của OutputStream, chúng ta có thể sử dụng các lớp con của nó. Một số trong số đó là:
- FileOutputStream
- ByteArrayOutputStream
- ObjectOutputStream
Tạo OutputStream
Để tạo một OutputStream, trước tiên chúng ta phải thêm gói java.io.OutputStream. Và sau đây là cách chúng ta có thể tạo luồng đầu ra.
1 |
OutputStream a = new FileOutputStream(); |
Ở đây, chúng ta đã tạo một đối tượng của luồng đầu ra bằng FileOutputStream. Chính vì OutputStream là một lớp trừu tượng nên chúng ta không thể tạo một đối tượng của lớp này.
Chú ý: Chúng ta cũng có thể tạo luồng đầu ra từ các lớp con khác của lớp OutputStream.
Các phương thức của OutputStream
Lớp OutputStream cung cấp các phương thức khác nhau được thực hiện bởi các lớp con của nó. Dưới đây là một số phương thức thường sử dụng:
- Phương thức write(): Ghi byte được chỉ định vào luồng đầu ra.
- Phương thức write (byte [] array): Ghi các byte từ mảng được chỉ định vào luồng đầu ra.
- Phương thức flush(): Ghi tất cả dữ liệu có trong luồng đầu ra tới điểm đích.
- Phương thức close(): Đóng luồng đầu ra.
Ví dụ: Ta sẽ khởi tạo một file abc.txt và thực hiện ghi một chuỗi ký tự vào trong file đó bằng đoạn mã như sau.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.io.FileOutputStream; import java.io.OutputStream; public class Main { public static void main(String args[]) { String du_lieu = "Tim hieu ve lap trinh trong Java"; try { OutputStream dau_ra = new FileOutputStream("abc.txt"); byte[] Byte_du_lieu = du_lieu.getBytes(); dau_ra.write(Byte_du_lieu); dau_ra.close(); } catch (Exception e) { e.getStackTrace(); } } } |
Kết quả (Kết quả được ghi vào file abc.txt):
1 |
Tim hieu ve lap trinh trong Java |
Trong ví dụ trên, chúng ta đã tạo một luồng đầu ra bằng lớp FileOutputStream. Luồng đầu ra được liên kết với file abc.txt.
1 |
OutputStream dau_ra = new FileOutputStream("abc.txt"); |
Để ghi dữ liệu vào file abc.txt, chúng ta đã thực hiện các phương thức sau.
1 2 |
dau_ra.write(Byte_du_lieu); dau_ra.close(); |
Khi chúng ta chạy chương trình, file abc.txt sẽ chứa nội dung sau:
1 |
Tim hieu ve lap trinh trong Java |
Trên đây là khái niệm và ví dụ cơ bản về lớp OutputStream trong Java. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài mới nhất trên tek4 nhé!
P/s: Cảm ơn mọi người!