私は、情報を取得するためのテキストファイルでScannerクラスを使用することはできますか?

StackOverflow https://stackoverflow.com/questions/1068988

質問

このコードは??正しい

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

どのように私は、コマンドライン引数としてプログラムにこのファイルを渡すことができます???

役に立ちましたか?

解決

それはほとんどの時間を行うには厄介なものである、システムのデフォルトのエンコーディングを使用して

まあ、個人的に私は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など)InputStreamReaderに渡す必要があります。あなたがFileまたはInputStreamに渡すつもりなら、私は強くあなたにも文字エンコーディング名を渡すことをお勧めします。 (かなりではなくCharsetの文字列としてそれを取るなぜ私を超えているが、それはエンコーディングに来るときのJava APIは、基本的にはかなり悪いです。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top