En Java, la consola de entrada se lleva a cabo mediante la lectura de System.in. Para obtener un flujo basada en caracteres que se adjunta a la consola, envuelva System.in en un BufferedReader objeto. BufferedReader es compatible con un flujo de entrada en el búfer. Su constructor utilizado más comúnmente se muestra aquí:
BufferedReader(Reader inputReader)
Aquí, inputReader es la corriente que está vinculado a la instancia de BufferedReader que está siendo creado . El lector es una clase abstracta. Una de sus subclases concretas es InputStreamReader, que convierte bytes en caracteres.
Para obtener un objeto InputStreamReader que está vinculado a System.in, utilice el siguiente constructor:
InputStreamReader(InputStream inputStream)
Debido sistema.en se refiere a un objeto de tipo InputStream, se puede utilizar para inputStream. Poniendo todo junto, la siguiente línea de código crea un BufferedReader que está conectado al teclado:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Después de esta instrucción se ejecuta, sa es una corriente basada en caracteres que está vinculado a la consola a través de System.in.
Esto se toma del libro Java- The Complete Reference by Herbert Schildt
¿Cuál es el problema exactamente? 1) no sabe cómo iniciar un programa java con un argumento 2) no sabe cómo abrir un archivo dentro de un programa java que tiene el nombre del archivo como argumento del método principal. o 3) ambos – Fortega
@Fortega ninguno de esos. Él quiere canalizar un archivo en lugar de la entrada del sistema. – corsiKa
@Peter a veces leer 68 millones de páginas es un poco demasiado! – corsiKa