Hola a todos!
Estoy realizando un proyecto en Java que depende mucho de la velocidad de los flujos de bytes(si, ya se que Java es un lenguaje muy lento, pero es lo que hay ).
El caso es que estoy intentando guardar unos archivos, que pueden llegar a tener un tamaño muy grande(segun especifique el usuario). Estos archivos los estoy guardando con un FileOutputStream, mediante un array de bytes, pero este metodo no es muy efectivo debido a que, si tengo que guardar un archivo grande, voy a tener que guardar en memoria un array enorme(imaginaos que sean 4 gigas, como que no) y la memoria cascará. Observé que de todas formas este metodo es más rápido que ir pasando de byte en byte, e intenté simplemente declarar una constante e ir pasando array a array, con un bucle, pero al intentar guardar en el mismo archivo, en vez de guardar en los siguientes bytes lo que hace es machacarla y guardar encima.
¿Alguno tiene alguna solución? O una forma de optimizarlo, he mirado en oracle pero con la cantidad de clases que tiene Java no se yo como ponerlo bien...
Un saludo!