0

現在、 Scanner クラスを使用して入力を読み取るプログラムの実装があります。整数による整数。これを行うには、コマンド ライン経由で入力ファイルをパイプします。

Java プログラム < input.txt

コマンドラインで引数を使用してプログラムでファイルを開くことにより、入力をパイプすることを避ける必要があります。

Java プログラム --file=input.txt

または似たようなもの。コマンドライン引数を解析し、テキスト「input.txt」を抽出してから、「BufferedReader」などのクラスを使用してファイルを読み取ることができることを理解しています。

入力ファイルを使用する必要がなく(パイプなし)、それでも Scanner クラスを使用できるかどうか、私はただ興味があります。つまり、 nextInt() などの呼び出しを変更する必要はありません。

4

1 に答える 1

1

main(String[] args)引数は評価されず、途中で何の作業もせずにメソッドに渡されるため、唯一のオプションは、引数を解析し、ファイル名を抽出input.txtして、通常のファイル ストリームとして開くことです。

ファイルを開いてパイプではなくパイプとして渡す必要があるとどのように推測する必要があるかわかりません..何も気にせずScannerに引数で簡単に使用できます..File

public Scanner(File source) throws FileNotFoundException

指定されたファイルからスキャンされた値を生成する新しい Scanner を構築します。ファイルのバイトは、基盤となるプラットフォームのデフォルトの文字セットを使用して文字に変換されます。

于 2010-10-05T20:56:38.320 に答える