Conocer buffer del flujo de datos (FileInputStream)

Iniciado por Kerber0, 28 Noviembre 2008, 02:04 AM

0 Miembros y 1 Visitante están viendo este tema.

Kerber0

Esa es mi duda, como hago para conocer el buffer sin tener que especificarlo yo.
Quiero decir que no quiero poner byte [] b = new byte[200] por ejemplo, sino que pueda conocer el buffer de entrada y no especificarlo de antemano.

Gracias!

joseprox

no te entiendo muy bien.....de como conocer el buffer...que quieres haces...

leer un dato cualquiera desde la consola o quieres conocer el tamaño del buffer de entrada que la consola usa para la Transmision y Recepcion de los datos?...

se un poco mas claro.....

saludos....joseprox

Toda persona tiene derecho a cometer errores...
la verdad es q solo ella es RESPONSABLE DE LO QUE HACE.....!!!!!

Kerber0

Por ejemplo tienes un archivo que contiene "Hola mundo" en c:\holamundo.txt

al leero necesito declarar byte[] b = new byte[10] pero de esta forma yo se que van 10 bytes, ya que conozco el contenido, pero supongamos que el contenido es variable o desconocido, como tendria que hacer para poder manipularlo?

Gracias

-Ramc-

Y ¿porque haces eso? Es mejor ir leyendo el archivo hasta que te devuelva null, porque llegó al final de este.

Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.

~~

Código (java) [Seleccionar]

File archivo = "tu_ruta";
archivo.length(); // Te devuelve el tamaño


Así puedes hallar el tamaño del archivo para definir el tamaño del buffer

arlick

Cita de: Kerber0 en 30 Noviembre 2008, 22:08 PM
Por ejemplo tienes un archivo que contiene "Hola mundo" en c:\holamundo.txt

al leero necesito declarar byte[] b = new byte[10] pero de esta forma yo se que van 10 bytes, ya que conozco el contenido, pero supongamos que el contenido es variable o desconocido, como tendria que hacer para poder manipularlo?

Gracias

Tienes la opción de ir leyendo línea a línea:

Código (java) [Seleccionar]

public void imprimirFichero(String fichero) throws IOException{
                BufferedReader br = new BufferedReader(new FileReader(new File(fichero)));

                String linea = "";

                while((linea = br.readLine()) != null){
                        System.out.println(linea);
                }
        }


De esa forma lees una línea y puedes tratarla como quieras, sin necesidad de declarar un buffer.