Buffer de tamaño "infinito" #135
-
Hola, uno de los requerimientos adicionales es poder leer de una cualquier archivo de cualquier tamaño, que podría ser infinito. |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments
-
por las dudas, ya lo vi, mas tarde (o sea a la mañana te respondo) |
Beta Was this translation helpful? Give feedback.
-
Profe creo que se olvidó, o quizás esta ocupado, aviso por las dudas |
Beta Was this translation helpful? Give feedback.
-
Buenas!
Si, puede declararse de forma dinamica el array, pero bueno el chiste de eso es que no tengas todo el archivo a memoria de una, lamentablemente no tenemos memoria infinita 😢 Así que tendriamos que buscar otra opción
Creo que lo que estas encarando al reves, la idea del stream es que te genere valores (en este caso podrian ser bloques de tamaño fijo), la forma de generar esos valores en este caso va a ser leyendo del lowlevelfilesystem y pasandoselos a algo. Si desplegas el details vas a avanzar por este camino, pero tal vez es el mas complejoPor ejemplo una posible implementación de un stream generico sincronico (ojo, esto potencialemente también podría ser asincronico) podría ser:
y lo usarías como streamGenerico.each( nro => System.out.println( "recibi el nro " + nro) ) Tal vez esto te da una idea de como podrías implementar algo similar al stream de Java Para ver como hacerlo posta en Java, tal vez te sirve: https://stackoverflow.com/questions/30685623/how-to-implement-a-java-stream Pensando otras alternativas
|
Beta Was this translation helpful? Give feedback.
-
Es más, si me decís eso, si yo quisiera implementarlo desde la parte que diseño, cuando le mande la operación al LowLevelFileSystem y quiero empezar a leer desde X bytes empezados del archivo, no tengo forma de hacerlo, fuera de algo rebuscado como escribir un archivo auxiliar que comience desde lo que quería comenzar a leer
Esto no lo entendí muy bien, osea entiendo la idea de alguna forma poder recorrer un archivo infinito, saber donde está lo que quiero, ir recorriendo hasta que llego a lo que quiero, pero no entiendo que sería esta lista, lista de caracteres o bytes? La ventaja de trabajar a los bytes como una lista en vez de un array cual sería? poder hacerlos stream y operar con ellos? Pero aún así caigo en el problema del item anterior de que no tengo forma de decirle al LowLevelFileSystem, "leete desde acá", o "lee esto primero, y desde ahi lee esto" Si querés podemos charlarlo mañana en clase también, aunque me queda mas grabado si lo puedo leer. |
Beta Was this translation helpful? Give feedback.
-
Ah.. si se puede interpretar así y tiene sentido por los nombres que maneja. Pero tu interpretación tiene mucho sentido. Y por cucaracha me estan diciendo que era la idea original jaja Pero que se puede ir por ambos caminos. Creo que si vas por mi camino te respondo un par de las siguientes preguntas. que hiciste. Pero no entiendo la comparativa que haces entre lista y array |
Beta Was this translation helpful? Give feedback.
-
Igual si vas por tu lado, ese coso que sabe hasta donde leiste es el lowlevelfilesystem, asi que ya tenes una parte resulta, te queda ver como aprovechar ese estado que tiene el lowlevelfilesystem |
Beta Was this translation helpful? Give feedback.
-
@julchat sirvio esto ? te quedo alguna duda mas ? |
Beta Was this translation helpful? Give feedback.
-
Sisi me sirvio mucho, |
Beta Was this translation helpful? Give feedback.
Sisi me sirvio mucho,
muchas gracias