ユーザがコマンドライン引数として文字 '*'を入力した場合にのみ、プログラム内のコードを実行します。このプログラムは次のように入力して、コマンドラインで実行された場合Javaは.classファイルとしてargs [0]の "*"を読み込みます。
//myfile.java
import java.io.*;
public class myfile {
public static void main(String[] args) {
if(args[0].equals("*")){
//do stuff
System.out.println(args[0]);//added this line to see what exactly was being passed
}
}
}
: - - :これは私が使用したコードである
java myfile *
私が画面上に表示するために期待していた出力がされますアスタリスク文字ではなく、表示される出力は 'myfile.class'です。どこが間違っていますか? Javaがアスタリスクを.classファイルに変更するのはなぜですか? また、このプログラムは最初の4回は完璧に動作しましたが、私はそれを実行してからこれをやり始めました!
ご協力いただきありがとうございます。
あなたのシェルはそれを行います:カレントディレクトリにあるすべてのファイルに*展開します。 Javaはそれとは関係ありません。 –
'java myfile '*''のようなプログラムを実行してください。 – Siguza
ご協力いただきありがとうございます! –