cuốn sách gpt4 ai đã làm

Làm cách nào để chuyển đổi hiệu quả một luồng đầu vào không nén thành một luồng đầu vào được nén bằng gzip?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 05:23:35 27 4
mua khóa gpt4 Nike

Một người dùng tải một tệp lớn lên trang web của tôi và tôi muốn gzip tệp đó và lưu trữ nó trong một blob. Vì vậy, tôi có một Dòng đầu vào không nén và blob cần một Dòng đầu vào. Tôi biết cách nén một Dòng đầu vào thành Dòng đầu ra bằng GZIPOutputStream, nhưng làm cách nào để trả lại Dòng đầu vào mong muốn từ Dòng đầu ra đã nén gzip thành một blob.

Cách duy nhất tôi có thể tìm thấy là sử dụng ByteArrayOutputStream và sau đó tạo một InputStream mới bằng toByteArray. Nhưng điều này có nghĩa là tôi có bản sao hoàn chỉnh của tệp trong bộ nhớ. Tôi sẽ không ngạc nhiên nếu việc triển khai trình điều khiển JDBC cũng chuyển đổi luồng thành byte[] nên tôi không có hai bản sao trong bộ nhớ.

câu trả lời hay nhất

Nếu bạn đang sử dụng java 1.6, bạn có thể sử dụng java.util.zip.DeflaterInputStream. Theo như tôi biết, đây chính xác là những gì bạn muốn. Nếu bạn không thể sử dụng 1.6, bạn có thể sử dụng java.util.zip.Deflater thực hiện lại Giảm phátĐầu vàoLuồng. Khi đọc dữ liệu trở lại từ BLOB, hãy sử dụng InflaterĐầu vàoLuồng Hoạt động như một bộ lọc để lấy lại dữ liệu gốc.

Giới thiệu về java - Làm cách nào để chuyển đổi hiệu quả một luồng đầu vào không nén thành một luồng đầu vào được nén bằng gzip? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/2186535/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress