Domanda

questo codice è corretto ??

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

Come posso passare questo file al programma come argomento della riga di comando ???

È stato utile?

Soluzione

Beh, personalmente non avevo mai usato FileWriter in quanto utilizza la codifica di default del sistema, che è una cosa brutta da fare la maggior parte del tempo. Io preferisco FileOutputStream + OutputStreamWriter. Tuttavia, dopo aver detto che ...

Cosa vuoi passare come argomento della riga di comando? Il file nome ? E 'semplice:

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
}

Se questo è non quello che vuoi dire, si prega di modificare la tua domanda per chiarire esso.

A giudicare dal titolo, è possibile che venga voglia di di carico da un file invece che da System.in. In questo caso, è sufficiente passare un File oggetto, o un InputStream (come FileInputStream) o addirittura un Readable (come InputStreamReader). Se avete intenzione di passare in un Charset o <=>, mi consiglia vivamente di passare il nome codifica dei caratteri pure. (Abbastanza perché ci vuole come una stringa invece di un <=> è al di là di me, ma l'API Java è fondamentalmente piuttosto male quando si tratta di codifiche.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top