Bueno tengo entendido que el Buffer es una seccion de memoria en donde se almacena los datos leidos de un archivo por ejemplo, y de esa forma reducir la cantidad de veces de apertura de un archivo ahora lo que no entiendo es que porque si yo al constructor de BufferedReader que toma dos argumentos el primero un flujo de bajo nivel y el segundo un entero que es el tamaño del buffer a crear en la memoria, porque si yo le paso por ejemplo 1 kb de tamaño de buffer y el archivo solo pesa 500 bytes al invocar a readLine() solo me pasa la primera linea y no se supone que deberia leer todo el archivo con una sola apertura y todo lo que leyo deberia almacenarse en el string devuelto por readLine() ????
ah y otra cosa hasta cuanto es el tamaño que le puedo pasar al buffer