2016-07-10 10 views
0

のは、私はこのパスを読みたい フォルダパスを動的に読み取る方法は?

"/ JBossの/サーバー/デフォルト/展開/ Product_071016.ear/Product_071016.war/WEB-INF/classesに"

のように、私はパスを持っているとしましょうjavaを使用してclassesフォルダ内に新しいファイルを作成します。ハードコーディングはオプションではなく、適応可能である必要があります。

このパスにはProduct_071016.earProduct_071016.warという名前が変更されています(つまり、「_」の後に日付、月、年が追加されます)。 どうすればいいですか?

+0

質問が間違っています(ウェブコンテナの環境については何もありません)。その結果、回答者は質問者のアイデアからは遠く離れているようです。たぶん私は間違っている、それも可能です。私の英語は完璧ではありません。 –

+0

@Naveen Dhalaria:あなたは私の答えを見た? * JacekCz *が間違ったタイトルの可能性について言及したとき、私が気づいたのは要求がうまく整理されていないことがあります。私の答えはあなたの要求に合っていますか?また、** firstgen **から** Product **に編集したパスを編集しました。 – STaefi

答えて

1

が要件に依存して、次のようないくつかのオプションが、持つことができます。paths.properties

として、すべての動的に変化するパスが含まれています

  1. を例えば設定ファイルを、持っています各行にkey/valueのペア。 .propertiesファイルhereの形式については、こちらをご覧ください。キーはCONSTANTという名前です。パスが変更されるたびに、誰かがパスのプロパティのこの定数キーに割り当てられた値を変更する必要があります。 のPropertiesオブジェクトを使用してこの設定ファイルを読み込むことができるので、PropertiesオブジェクトにCONSTANTキーを与えることで、変更されたパスを持つことができます。 Propertiesは何とか.propertiesファイルを扱うためにカスタマイズされたMapです。あなたのpaths.properties

    内容は次のようになります

    PATH_TO_CLASSES_FOLDER=jboss/server/Default/deploy/Product_071016.ear/Product_071016.war/web-inf/classes/ 
    

    あなたがPropertiesオブジェクトを使用して.propertiesファイルからkey/valuesをロードされたので、後に、キーPATH_TO_CLASSES_FOLDERを与えることによって、あなたはある目的のパスを取得しますファイルに保存されます。あなたは難しいことではありませんでした、のいずれかの方法を使用して

    String pathToClassesFolder = System.getenv("PATH_TO_CLASSES"); 
    

  • あなたはすべてのオペレーティングシステムでSystem Variableを設定することができ、その後、あなたはそれを読むことができますが、次のコード行を使用してJavaで値ですコード内の任意の動的パスをコード化し、要件が達成されます。あなたは両方の方法を組み合わせることができ、ハードコードに設定ファイルのパスをしたくない場合でも:

    1. は、設定へのパスを読むSystem Variable

    2. として設定ファイルのパスを定義します。ファイルを開き、Propertiesオブジェクトでロードし、PATH_TO_CLASSES_FOLDERキーを使用してclassesフォルダパスを取得します。

    Good Luck。

  • 関連する問題