Sto provando a scrivere una funzione che accetta i parametri Oggetto file, offset e matrice di byte e scrive quell'array di byte in un oggetto File in Java.Java OutputStream Skip (offset)
Quindi la funzione sarà simile
public void write(File file, long offset, byte[] data)
Ma il problema è che il parametro offset è di tipo lungo, quindi non posso usare la funzione write() di OutputStream, che prende intero come un offset.
A differenza di InputStream, che ha saltato (lungo), sembra che OutputStream non abbia modo di saltare i primi byte del file.
C'è un buon modo per risolvere questo problema?
Grazie.
Il numero più grande che si può inserire in un 'int' è 2.147.483.647. Gli array che vuoi scrivere sono più grandi di + - 2 GB? –
Solo per chiarimenti: l'offset si applica solo alla posizione nell'array *, non al flusso di output, giusto? Con un OutputStream non puoi saltare posizioni. –
@TheNail offset si riferisce all'offset dall'inizio del file, non all'inizio della matrice. E a meno che tu non stia usando FAT come un file system puoi effettivamente avere file più grandi di 2Gb. – Dunes