JavaファイルをJVMで実行しているときに、このファイルを使用してJavaファイルを変更できますか?Javaファイルを変更する
例: 私はabc.javaを実行します。このプログラムではテキストエリアがあり、テキストエリアのテキストをabc.javaに貼り付けて変更を保存したいと考えています。出来ますか?
JavaファイルをJVMで実行しているときに、このファイルを使用してJavaファイルを変更できますか?Javaファイルを変更する
例: 私はabc.javaを実行します。このプログラムではテキストエリアがあり、テキストエリアのテキストをabc.javaに貼り付けて変更を保存したいと考えています。出来ますか?
(更新質問に対する新しい回答)
「このプログラムで私は、テキストエリアにいると私はabc.javaにテキスト領域からテキストを貼り付けると、変更を保存します。」
これは奇妙なループ、自己修正のJavaコードのようですか?
はい、私はラルフにそれが悪い考えかもしれないことに同意するが、確かに、nrobeyの道具は行く方法だろうと述べている。
JVMはクラスファイル(.class)を実行し、Java( .java)ファイルは実行しません。 * .javaファイルを* .classファイルに "変換"するには、それをfirsでコンパイルする必要があります。
だから、それはcompleatlyにinteressedされていないため、*の.javaファイルは、どのような方法でJVMをinfuentません変更。
だからこそ全体の答え のあなたがプログラムの開発(.javaファイルを書き込むことができます( .class)は、自身のソースファイル(.java)を変更します(例えば、ユーザー入力によって文字列を変更する)。コンパイルすると( .class)、新しいコンパイル済みのフォーム。 しかしこれはあなたが欲しいものではありません!この狂ったアイデアがうまくいくことを証明するためだけに、この種のソフトウェアを書いています。
とにかく、ファイルやデータベースにデータを保存する方法が必要です。 (ファイル処理のための、そしてtutorialのためのjava.ioパッケージを見てください)。
いいえ、おそらく実行時にクラスを動的に定義する必要があります。もしそうなら、あなたはGroovyのような動的言語を選ぶことができます。
3つのステップ:あなたは、テキストファイルを変更するのと同じように
があなたの.javaファイルを変更します。
を使用して、すでに実行中のJVM内からその.javaファイルをコンパイルします。
javaファイルはJVMには入れられませんが、Javaバイトコードは実行されません。 – qrtt1