Tôi đang cố gắng viết một hàm nhận các đối tượng File, các tham số mảng offset và byte và ghi mảng byte đó vào đối tượng File trong Java.Java OutputStream Skip (offset)
Vì vậy, các chức năng sẽ trông như thế
public void write(File file, long offset, byte[] data)
Nhưng vấn đề là các thông số bù đắp là loại dài, vì vậy tôi không thể sử dụng ghi) chức năng (của OutputStream, trong đó có số nguyên là giờ chênh lệch.
Không giống như InputStream, đã bỏ qua (dài), có vẻ như OutputStream không có cách nào để bỏ qua byte đầu tiên của tệp.
Có cách nào tốt để giải quyết vấn đề này không?
Cảm ơn bạn.
Số lớn nhất bạn có thể đặt trong 'int' là 2.147,483,647. Các mảng bạn muốn viết lớn hơn + - 2GB? –
Chỉ cần làm rõ: bù trừ chỉ áp dụng cho vị trí trong mảng *, không phải luồng đầu ra, phải không? Với OutputStream, bạn không thể bỏ qua các vị trí. –
@TheNail offset đề cập đến bù đắp từ đầu tệp, chứ không phải phần đầu của mảng. Và trừ khi bạn đang sử dụng FAT như một hệ thống tập tin bạn thực sự có thể có các tập tin lớn hơn 2Gb. – Dunes