Estoy tratando de escribir una función que tome los parámetros Objeto de archivo, desplazamiento y matriz de bytes y escriba esa matriz de bytes en un objeto Archivo en Java.Java OutputStream Omitir (desplazamiento)
Así que la función se vería como
public void write(File file, long offset, byte[] data)
Pero el problema es que el parámetro de desplazamiento es de tipo largo, por lo que no se puede utilizar la función de escritura() de OutputStream, que tiene número entero como una compensación.
A diferencia de InputStream, que tiene omisión (larga), parece que OutputStream no tiene forma de omitir los primeros bytes del archivo.
¿Hay una buena manera de resolver este problema?
Gracias.
El número más grande que puede poner en un 'int' es 2.147.483.647. ¿Las matrices que desea escribir son más grandes que + - 2GB? –
Solo para aclarar: el desplazamiento solo se aplica a la posición en * matriz *, no a la secuencia de salida, ¿verdad? Con un OutputStream no puede omitir posiciones. –
@El offset de tinta se refiere al desplazamiento desde el principio del archivo, no desde el comienzo de la matriz. Y a menos que esté utilizando FAT como sistema de archivos, puede tener archivos de más de 2 GB. – Dunes