Pregunta

Este código es correcto ??

String note = "text.txt";
FileWriter file = new FileWriter(note);
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name:");
String name = sc.next();
file.close();

¿Cómo puedo pasar este archivo al programa como un argumento de línea de comandos ???

¿Fue útil?

Solución

Bueno, personalmente yo nunca haría uso de FileWriter ya que utiliza la codificación por defecto del sistema, que es una cosa desagradable para hacer la mayor parte del tiempo. Yo prefiero FileOutputStream + OutputStreamWriter. Sin embargo, una vez dicho esto ...

¿Qué desea pasar como argumento de línea de comandos? El archivo Nombre ? Eso es fácil:

public static void main(String[] args)
{
    // Insert error checking here (e.g. args.length == 0)
    String note = args[0]; // For the first argument
    // Rest of code here
}

Si eso es no lo que quiere decir, por favor, edite su pregunta para aclararla.

A juzgar por el título, se le puede querer carga en un archivo en lugar de desde System.in. En ese caso, sólo tiene que pasar en un File objeto, o un InputStream (como FileInputStream) o incluso un Readable (como InputStreamReader). Si usted va a pasar en un Charset o <=>, te recomiendo encarecidamente que pase en el nombre de codificación de caracteres también. (Muy bien por qué se lo toma como una cadena en lugar de un <=> está más allá de mí, pero la API de Java es básicamente bastante malo cuando se trata de codificaciones.)

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