Autor
|
Tema: Optimización de Flujos(stream) (Leído 3,626 veces)
|
ShotgunLogic
Desconectado
Mensajes: 233
Claws so razor sharp
|
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!
|
|
|
En línea
|
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
|
|
|
Valkyr
Desconectado
Mensajes: 646
Divide y vencerás
|
No me hagas mucho caso porque la entrada salida de Java no la domino al pelo, pero quizás con el método:
write(byte[] b, int off, int len) Writes len bytes from the specified byte array starting at offset off to this file output stream.
puedas hacerlo no? Especificas el offset por el que te quedaste escribiendo anteriormente y sigues escribiendo. De todas formas te vuelvo a decir que no tengo mucha idea de entrada salida, así que si alguien puede contestarte algo mejor bienvenido sea xD.
Saludos.
|
|
|
En línea
|
|
|
|
ShotgunLogic
Desconectado
Mensajes: 233
Claws so razor sharp
|
No me hagas mucho caso porque la entrada salida de Java no la domino al pelo, pero quizás con el método:
write(byte[] b, int off, int len) Writes len bytes from the specified byte array starting at offset off to this file output stream.
puedas hacerlo no? Especificas el offset por el que te quedaste escribiendo anteriormente y sigues escribiendo. De todas formas te vuelvo a decir que no tengo mucha idea de entrada salida, así que si alguien puede contestarte algo mejor bienvenido sea xD.
Saludos.
Si si, de hecho es el que esoty usando, pero con un array muy grande la memoria casca(logico), pero sin embargo es el método más rápido. Por eso preguntaba cual sería la forma de optimizarlo(yo pretendia hacerlo mientras iba pasando byte[] de un tamaño razonable, pero guardan "encima" del mismo archivo y borran lo que tenía antes). EDITO: Estoy gilipollas y te he leido mal, si, debe de ser ese metodo para guardar luego(es que ayer iba con algo de prisa y he mirao mal hasta lo de oracle..). De todas formas necesito un tamaño razonable para los bytes[] y no se cual ponerle. Muchas gracias ^^
|
|
« Última modificación: 5 Junio 2011, 12:16 pm por ShotgunLogic »
|
En línea
|
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
|
|
|
ShotgunLogic
Desconectado
Mensajes: 233
Claws so razor sharp
|
Hago doble post por si a alguien le interesa: He resuelto el problema con arrays de bytes(byte[]) de 15 mb, que me parece un tamaño razonable, tanto para móviles actuales como para ordenadores(si bien para ordenadores ahora mismo es un cagao). De esta manera van bastante rápidas las cosas pero no se peta la ram. Un saludo!
|
|
|
En línea
|
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
diferencias entre flujo de caracteres y flujos de bytes
Java
|
darkxxx
|
3
|
8,004
|
4 Junio 2009, 11:13 am
por ~~
|
|
|
Paso de flujos por parametro
Programación C/C++
|
darkvidhack
|
3
|
2,710
|
17 Mayo 2011, 22:48 pm
por satu
|
|
|
Diagrama de Flujos
Programación General
|
jelsir
|
2
|
2,403
|
14 Octubre 2011, 06:40 am
por antraxita
|
|
|
ayuda con flujos de datos y archivos
Java
|
chelitodelgado
|
0
|
1,511
|
4 Diciembre 2015, 04:30 am
por chelitodelgado
|
|
|
Flujos de control en C/C++
Programación C/C++
|
sukokiin
|
0
|
1,749
|
21 Agosto 2019, 04:56 am
por sukokiin
|
|