ファイルがMain.java
あり、test.txt を渡してプログラムを実行したい
コマンドラインでjavacを書くことができることを知っていますMain.java
コンパイルした後、私は書くことができjava Main test.txt
、これはファイルの実行と通過を達成しますtest.txt
代わりに、書き込みだけでファイルを実行できるようにしたい場合main test.txt
はMain.class
、それが可能で、その場合はどうすればよいですか?
ファイルがMain.java
あり、test.txt を渡してプログラムを実行したい
コマンドラインでjavacを書くことができることを知っていますMain.java
コンパイルした後、私は書くことができjava Main test.txt
、これはファイルの実行と通過を達成しますtest.txt
代わりに、書き込みだけでファイルを実行できるようにしたい場合main test.txt
はMain.class
、それが可能で、その場合はどうすればよいですか?
(編集:あなたのコメントに基づいて、さらにいくつかの状況を追加するために拡張させてください)
Java がインストールされていない他の誰かにプログラムを実行させることが目標であり、アプリを実行する前に Java ランタイム環境をインストールしてもらいたくない場合は、.class または .jar を変換するプログラムが必要です。ファイルを、使用しているプラットフォームのネイティブ実行可能ファイルに変換します。これを行う方法は、他の質問で説明されています。例: Java プログラムを実行可能ファイルにコンパイルする。基本的に、JCG (GNU Compiler for Java) や Excelsior JET (商用製品) などのプログラムを使用して、バイト コードをミニ JRE が組み込まれた完全なネイティブ コードに展開します。
あなたの目標がタイピングを節約することである場合、多くの戦略があります。他の人は、Linux でうまく動作するエイリアス コマンドを提案しています。
プログラムに同梱できるもう少し移植性の高いオプションは、シェル スクリプトです。確かに、シェル スクリプトは、シェル スクリプト インタープリターがインストールされている Linux またはその他の OS でのみ実行されます。
以下はシェルスクリプトの例です。これをテキスト エディターに貼り付け、拡張子なしでメインとして保存します。$1 はパラメータ引数 fyi を渡します。
#!/bin/sh
java Main $1
シェルスクリプトに拡張子なしの「main」という名前を付けると仮定すると、main test.txt
今すぐプログラムを実行するために呼び出すことができます。
Windows を使用している場合は、Windows ショートカットを作成し、必要に応じてフル パスを使用して (パスがまだ設定されていない場合)、ショートカットを「java Main test.text」にポイントすることができます。もちろん、実行するたびにパラメータを簡単に変更できるわけではなく、ショートカットを編集する必要があります。
エイリアスを追加します。たとえば、Mac で次の行を使用して .bash_profile を編集します。
alias main='java main'
新しいコンソールを開いて、エイリアスが機能していることを確認することを忘れないでください