Chúng ta có cần đóng InputStream trong Java không?
Chúng ta có cần đóng InputStream trong Java không?

Video: Chúng ta có cần đóng InputStream trong Java không?

Video: Chúng ta có cần đóng InputStream trong Java không?
Video: Phần 4 | Hướng dẫn thao tác File trong Java - File Java, FileInputStream, ObjectInputStream Java 2024, Có thể
Anonim

2 Câu trả lời. Bạn cần phải đóng cửa NS luồng đầu vào , bởi vì luồng được trả về bởi phương thức bạn đề cập thực sự là FileInputStream hoặc một số lớp con khác của InputStream giữ một xử lý cho một tệp. nếu bạn làm không phải gần luồng này bạn có rò rỉ tài nguyên.

Cân nhắc điều này, có cần thiết phải đóng InputStream trong Java không?

Nhưng luồng đầu vào s không bao giờ đóng. Đây là một độc lập Java và có một số chương trình như vậy, nơi InputStream không bao giờ đóng cửa. Thông thường, tệp sẽ được đóng khi InputStream đối tượng là rác được thu thập hoặc khi chương trình kết thúc. Thông thường không phải là một ý kiến hay nếu để mọi thứ mở ra như thế này.

Ngoài ra, tại sao chúng ta nên đóng các luồng trong Java? Điều quan trọng là đóng dòng , để phát hành bộ mô tả tệp do lớp này nắm giữ, như là tài nguyên giới hạn của nó và được sử dụng trong cả kết nối ổ cắm và xử lý tệp. Rò rỉ tài nguyên nghiêm trọng cũng có thể dẫn đến ngoại lệ bộ mô tả tệp.

Thứ hai, tôi có cần đóng FileInputStream không?

Vâng, bạn cần phải đóng cửa dòng đầu vào nếu bạn muốn tài nguyên hệ thống của bạn được giải phóng trở lại. FileInputStream . gần () là những gì bạn nhu cầu . Bạn cũng vậy cần phải đóng cửa (), hoặc kết thúc chương trình của bạn.

Tôi có cần đóng ByteArrayInputStream không?

4 Câu trả lời. Bạn không cần phải đóng ByteArrayInputStream , thời điểm nó không được tham chiếu bởi bất kỳ biến nào, bộ thu gom rác sẽ giải phóng luồng và một số byte (tất nhiên giả sử chúng không được tham chiếu ở một nơi khác).

Đề xuất: