2009-03-18 30 views
5

Cách tốt nhất để thay đổi một byte đơn trong một tệp bằng Java là gì? Tôi đã thực hiện điều này theo nhiều cách. Một sử dụng tất cả các thao tác mảng byte, nhưng điều này rất nhạy cảm với lượng bộ nhớ có sẵn và không vượt quá 50 MB hoặc lâu hơn (tức là tôi không thể phân bổ 100MB giá trị byte [] mà không gặp lỗi OutOfMemory). Tôi cũng đã thực hiện nó theo một cách khác có tác dụng và quy mô, nhưng nó cảm thấy khá khó khăn.Bạn sẽ thay đổi một byte đơn trong một tệp như thế nào?

Nếu bạn là một chuyên gia java io và bạn phải tranh luận với các tệp rất lớn (200-500MB), bạn có thể tiếp cận điều này như thế nào?

Cảm ơn!

+0

Bạn đang tìm kiếm byte đã nói hay bạn đã biết vị trí của nó chưa? –

Trả lời

13

Tôi muốn sử dụng RandomAccessFile, tìm đến vị trí tôi muốn thay đổi và viết thay đổi.

6

Nếu tất cả những gì tôi muốn làm là thay đổi một byte, tôi sẽ không bận tâm đọc toàn bộ tệp vào bộ nhớ. Tôi muốn sử dụng một số RandomAccessFile, seek cho byte được đề cập, write và đóng tệp.

Các vấn đề liên quan