私は、情報を取得するためのテキストファイルでScannerクラスを使用することはできますか?
-
21-08-2019 - |
質問
このコードは??正しい
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は、基本的にはかなり悪いです。)
所属していません StackOverflow