Pregunta

Actualmente tengo una implementación de un programa en el que he leído en la entrada utilizando la clase escáner. Entero por entero. Lo hago canalizando el archivo de entrada a través de la línea de comandos.

  

programa Java

Necesito evitar una tubería de la entrada mediante el uso de un argumento en la línea de comandos para abrir el archivo en mi programa.

  

programa java --file = input.txt

o algo similar. Entiendo que pude analizar el argumento de línea de comandos, extraer el texto "entrada.txt" y luego usar una clase como "BufferedReader" o algo similar para leer el archivo.

Tengo curiosidad si no, se va a utilizar el archivo de entrada (sin tuberías) y seguir utilizando la clase escáner. Lo que significa que no tendría que cambiar en mi nextInt () y otras llamadas de ese tipo.

¿Fue útil?

Solución

Dado que los argumentos son simplemente no evaulated pero pasaron a su método de main(String[] args) sin ningún trabajo en el medio de su única opción es analizar el argumento, extraer el input.txt nombre de archivo y abrirlo como una secuencia de archivo normal.

No sería ver cómo se debe inferir que un archivo se debe abrir y pasa como un tubo sin ser un tubo .. puede utilizar simplemente Scanner con un argumento File sin preocuparse de nada ..

public Scanner(File source) throws FileNotFoundException
  

construye un nuevo escáner que produce valores escaneados desde el archivo especificado. Bytes del archivo se convierten en caracteres utilizando juego de caracteres por defecto de la plataforma subyacente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top