0

拡張子に基づいてファイルを検索しています。見つかったファイルごとに、コマンドを実行します。

ファイルが見つかったと仮定しましょう: C:\Home\1\1.txt. 私のexeは次の場所にあります:C:\Home\Hello.exe

次のようなコマンドを実行したい: " C:\Home\Hello.exe C:\Home\1\1.txt"

同様にC:\Home\ABC\2.txt- " C:\Home\Hello.exe C:\Home\ABC\2.txt"

コマンドを実行するための入力として検索されたファイルを渡す方法を教えてください。

ありがとう、キノ

4

4 に答える 4

0

コマンド ライン (例: Windows cmd) からアプリを実行していて、プログラム名が Hello.java の場合、例で行ったように、引数を入力するだけです。したがって、次のようになります。

 java Hello C:\Home\1\1.txt

これは例であり、質問には「java」タグが付けられているため、exeは使用しませんでした。

Hello.java には、次のようなmainメソッドが必要です。

public static void main(String ... args) {
}

パラメータargsは、コマンド ラインに入力する実際のパラメータです。したがって、ファイル名を取得するには、次のようにする必要があります。

public static void main(String ... args) {
    String fileName= args[0];
}

以上です。後で、ファイルを開いて編集するなど、好きなことを行うことができます。

File file= new File(fileName);
//do whatever with that file.
于 2013-06-13T10:55:39.983 に答える
0

このコードはあなたを助けるでしょう

public static void main(String args[]) {
           String filename;
            try {
                Runtime rt = Runtime.getRuntime();
                filename = "";//read the file na,e
                Process pr = rt.exec("C:\\Home\\Hello.exe " + filename );

                BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

                String line=null;

                while((line=input.readLine()) != null) {
                    System.out.println(line);
                }

                int exitVal = pr.waitFor();
                System.out.println("Error "+exitVal);

            } catch(Exception e) {
                System.out.println(e.toString());
                e.printStackTrace();
            }
        }
于 2013-06-13T11:47:45.650 に答える