あなたがJavaソースファイルをコピーする場合、あなたは
- オープンソースファイルに必要です。
- 宛先ファイルを開きます。
package
というキーワードが表示されるまで、ソースから送信先までのすべてをコピーします。
- パッケージキーワードをコピー先のファイルにコピーします。ソースファイル内
- 先ファイルに「corrrect」パッケージの場所を書く
- 「間違った」パッケージの場所にわたってスキップ
- 宛先ファイルにソース・ファイルからコンテンツの残りの部分を書きます。
これは、ファイルのパッケージを正しく「リベース」することに注意してください。 "古い"パッケージでそのファイルを見つけることが期待されるかもしれない他のファイルを "rebase"することは何もしません。これらの他のファイルを修正するには(プロジェクトが存在する場合は、参照があまりないように設計されているか、すべてのファイルをコピーする予定です)、プロジェクト内の各ファイルを開き、 import
ステートメント見つけた場合は、でなく、インポートをコピーして正しい置換えにコピーする必要があります。
実際には「移動」せずに変更する必要のあるファイルを操作する場合、一時ファイルを書き込んでから、一時ファイルが完全に書き込まれた後に元のファイルと置き換えることをお勧めします。これと同じように:
(reading) MyClass.java
(writing) .tempMyClass.java
(done writing)
(moving) .tempMyClass.java to MyClass.java
これは、あなたがから読み取る必要がある場所のファイルの過去の書き込みのように、厄介な項目の数によって制約されないことを可能にする(あなたはそれを読む前に必要な情報を破棄されます)。
パッケージjava.io
とクラスjava.lang.String
には、これらのツールを書くことができるすべてのユーティリティがありますが、詳しく説明すると長すぎる投稿になります。ちょっと書いてみてください(Webでファイルから行を読み込むにはどうすればいいですか、Javaでファイルに行を書き込むにはどうすればよいですか)。エラーや誤解、そして多くの人々が喜んで助けてくれるでしょう。
すでにコンパイルされたファイルに対してこれを実行する場合は、Javaクラスファイル形式のビットを読み込み、クラス名の定数文字列を見つけて、上記と同様の手順で変更しますバイナリバイトを書く)、またはASMのようなライブラリを使って上記と同じ手順を行うことができます(ただし、手作業で行うときに間違えることはありません)。
あなたは、あなたの質問のいくつかに答えを受け入れる必要があります。 – DrColossos
いいえ、あなたのいずれかすべてのパッケージ文を編集するか、リファクタリング機能を備えた実際のIDEを使用する必要があります。 – duffymo
@duffymo EclipseはJavaで書かれています。 ctoring機能はパッケージ宣言の名前を変更します。これを行う方法があります。 – Jeffrey