Frage

Dieser Code ist richtig ??

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();

Wie kann ich diese Datei in das Programm als Befehlszeilenargument übergeben ???

War es hilfreich?

Lösung

Nun, ich persönlich würde nie verwenden FileWriter wie es die System Standard-Kodierung verwendet, die eine böse Sache ist, die meiste Zeit zu tun. Ich ziehe es FileOutputStream + OutputStreamWriter. Aber gesagt haben, dass ...

Was möchten Sie als Befehlszeilenargument übergeben? Die Datei name ? Das ist ganz einfach:

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
}

Wenn das nicht , was Sie meinen, Sie bearbeiten Ihre Frage zu klären.

Gemessen an den Titel, können Sie auf Last werden wollen aus einer Datei statt von System.in. In diesem Fall brauchen Sie nur in einem File Objekt zu übergeben, oder ein InputStream (wie FileInputStream) oder in der Tat ein Readable (wie InputStreamReader). Wenn Sie in einem File oder InputStream passieren gehen, würde ich empfehlen, dass Sie auch in der Zeichencodierung Namen übergeben. (Ganz, warum es sie als String nimmt anstelle eines Charset ist mir schleierhaft, aber die Java-API ist im Grunde ziemlich schlecht, wenn es um Kodierungen kommt.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top