5

ファイルがMain.javaあり、test.txt を渡してプログラムを実行したい

コマンドラインでjavacを書くことができることを知っていますMain.java

コンパイルした後、私は書くことができjava Main test.txt、これはファイルの実行と通過を達成しますtest.txt

代わりに、書き込みだけでファイルを実行できるようにしたい場合main test.txtMain.class、それが可能で、その場合はどうすればよいですか?

4

3 に答える 3

1

(編集:あなたのコメントに基づいて、さらにいくつかの状況を追加するために拡張させてください)

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」にポイントすることができます。もちろん、実行するたびにパラメータを簡単に変更できるわけではなく、ショートカットを編集する必要があります。

于 2012-09-21T21:18:43.640 に答える
1

エイリアスを追加します。たとえば、Mac で次の行を使用して .bash_profile を編集します。

alias main='java main'

新しいコンソールを開いて、エイリアスが機能していることを確認することを忘れないでください

于 2012-09-21T21:18:09.207 に答える
0

オペレーティング システムによって異なります。たとえば、bash シェルを使用する Linux では、エイリアスを設定しmainjava -cp myjar.jar main.

Linux は、Java クラス フライをバイナリ形式として「理解」するように構成することもできます。ここを直接参照してください(Linux カーネルのドキュメント)。

あなたがWindowsを使用している場合は、私よりもそのことについて詳しい人からの回答を待つ必要があります.

幸運を!

于 2012-09-21T21:16:35.933 に答える