Hola me gustaria saber si alguien sabe como se hace para obtener un array de bytes a partir de un File?
saludos y gracias
| |||
Respuesta: Obtener array de bytes a partir de un file hola, aqui esta exactamente lo que quieres hacer: http://www.exampledepot.com/egs/java...ray.html?l=rel saludos, |
| |||
Respuesta: Obtener array de bytes a partir de un file Ese codigo no es correcto , ya que read() no asegura leer todo de golpe y available solo te devuelve el numero de bytes que podras leer sin tener que esperar por operaciones de I/O, lo cual varia segun la carga del S.O. Así que así no puedes asegurar que lees el fichero completo. Si el fichero es pequeño y el S.O. no esta muy ocupado... quizá. S!
__________________ Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana. |
| |||
Respuesta: Obtener array de bytes a partir de un file por que no quieres usar la forma que viene en el link que puse? |
| ||||
Respuesta: Obtener array de bytes a partir de un file blackwind: en realidad no es que no lo quiera usar, me parece que tiene que existir una forma mas sencilla que ya este hecha sin necesidad de un for, igualmente por ahora estoy usando lo que puse yo, en caso que me de problemas tendre que usar lo que me pasastes tu. saludos y cuidate |
| |||
Respuesta: Obtener array de bytes a partir de un file en serio 18 lineas de codigo con error checking no se te hace lo suficientemente sencillo? el tuyo tiene 10 lineas de codigo, no lo hace y no checa errores... |
| |||
Respuesta: Obtener array de bytes a partir de un file Yo para no estar demasiado atado a que leo de un fichero y se su longitud a priori, uso el tipico bucle leyendo a través de un buffer hasta que no hay, escribiendolo en un ArrayOutputStream y de ahi sacando los bytes. Eso seguro que no da problemas. Ojo con la solucion que planteas, djagu, por que el mismo programa leyendo el mismo fichero puede funcionarte una ejecución y fallarte la siguiente por que el disco este ocupado haciendo otra cosa. S!
__________________ Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana. |
| ||||
Respuesta: Obtener array de bytes a partir de un file En realidad es una aplicacion web, se supone que tenemos un servior entero contratado en miami para corre la aplicacion, o sea no deberiamos tener problemas con el uso del mismo, por mas que 100 usuarios esten usando la aplicacion que en ese mismo momento Cita: en cuanto al tema de sencilles no lo digo por la cantidad de lineas, me parece raro no tener un metodo de los InputStream, FileInputStream, BufferedFileReader, etc que ya te devuelva el array de bytes que algo que se debe usar muchisimo en programacion me entiendes?en serio 18 lineas de codigo con error checking no se te hace lo suficientemente sencillo? el tuyo tiene 10 lineas de codigo, no lo hace y no checa errores Cita: Tienes algun ejemplo de esto para pasarme?Yo para no estar demasiado atado a que leo de un fichero y se su longitud a priori, uso el tipico bucle leyendo a través de un buffer hasta que no hay, escribiendolo en un ArrayOutputStream y de ahi sacando los bytes. Eso seguro que no da problemas. saludos y gracias a los dos |
| |||
Respuesta: Obtener array de bytes a partir de un file Cita: No es cuestion de que el servidor sea o no suficiente. Es que es algo que depende del S.O. y, lo mas importante, no puedes garantizar que funcionará bien. Un programa que funciona bien a veces no es un programa correcto, aunque ahora mismo no falle. No hay vuelta de hoja. Cita: Si y no . Tampoco es tan común leer todo en memoria, ya que no suele ser la forma más eficiente de trabajar con ficheros. Además, hay que tener en cuenta que el API IO en Java está hecho para funcionar igual con ficheros, sockets, y cualquier otra cosa que maneje "tiras de bytes", y en muchos casos leerlo todo de golpe no es posible ni deseable, así que es "normal" que no incluya un metodo genérico para hacerlo. De todas formas hacerlo es relativamente sencillo.El metodo que enlaza Blackwind funciona y es más estilo "C", usando solo un buffer y usando offsets, aunque tiene un problema por que si salta una excepcion despues de abrir el fichero, el InputStream quedaría abierto. Mas o menos, algo así. Hay que tener en cuenta que si el fichero es de texto, mejor usar los equivalente en Reader... Si no fuera un ByteArrayOutputStream , seguramente tambien encapsularía el OutputStream con un BufferedOuputStream y el reset/flush serían distintos, con un close etc. El buffer lo he hecho de 4K, pero se podría hacer más grande segun la memoria que queramos destinar a eso. 16K o 32K tampoco son ninguna barbaridad, en función del I/O de nuestro sistema. A lo mejor no es tan eficiente como otras soluciones, pero sirve practicamente igual para cualquier tipo de InputStream y no deja nunca abierto el InputStream que recibe. Como se puede ver, el numero de lineas y lo verborreico de un codigo no me importa. Me importa más que no de problemas y sea claro . Código PHP:
__________________ Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana. |
| ||||
Respuesta: Obtener array de bytes a partir de un file OK muchas gracias, lo pruebo mira para que tengas una idea el uso de esto no es mucho solo es permitirles a los usuarios que puedan subir archivos adjuntos y estos se guardan en la base como BLOB, estoy usando richfaces que supuestamente el componente tiene un metodo que devuelve el array de bytes y un objeto file, por alguna razonn el array siempre esta en null, pero el file esta cargado correctamente, a esto venia mi pregunta inicial saludos y muchas gracias a los dos pd: si alguno quiere agregarme al msn esta publico en mi perfil |