0

このコードは正しいですか?

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

このファイルをコマンドライン引数としてプログラムに渡すにはどうすればよいですか?

4

1 に答える 1

2

FileWriterまあ、個人的には、システムのデフォルトのエンコーディングを使用しているので、私は決して使用しません。これは、ほとんどの場合、厄介なことです。FileOutputStream+が好きOutputStreamWriterです。しかし、そうは言っても...

コマンドライン引数として何を渡しますか?ファイル?簡単だ:

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
}

それが意味しない場合は、質問を編集して明確にしてください。

タイトルから判断すると、からではなくファイルからロードしたい場合がありますSystem.in。その場合は、Fileオブジェクト、またはInputStream(などFileInputStream)または実際にReadable(など)を渡す必要がありますInputStreamReaderFileまたはを渡す場合InputStreamは、文字エンコード名も渡すことを強くお勧めします。(なぜそれをaではなく文字列として受け取るのかCharsetは私にはわかりませんが、Java APIは、エンコーディングに関しては基本的にかなり悪いです。)

于 2009-07-01T12:54:42.957 に答える