Java での相対パスの使用

巴扎黑
リリース: 2016-12-20 16:35:20
オリジナル
1600 人が閲覧しました

開発プロセスでは、設定ファイルの読み込みは環境やその他の状況によって異なります。一般的に、非jarパッケージからの相対パスを使用する場合は、非常に簡単です。ここでは詳しく説明しませんが、多くの場合、使用するにはクラスを jar ファイルにパッケージ化する必要があります。これを事前に考慮していないと機能しない可能性があります。どうやって解決すればいいでしょうか?メソッドは次のとおりです
:
には次のパスがあります:
Web-info--|-->classes--->conf-->config.properties
|-->lib
このとき、 jar パッケージを使用しない場合は、config .properties を読み取る必要があります。次のように読み取るのが良い方法です:
File f = new File(this.getClass().getResource("/").getPath()) ;
f = new File(f.getPath() + "/conf/config.properties");
注: f.getPath() は、クラスが配置されている絶対パスです。例: c:javasrcweb-infclasses
その後、ファイルオブジェクトを処理することで設定情報を読み出すことができますが、上記のクラスを追加してjarファイルにパッケージ化すると、ここでプログラムを実行すると設定情報が読み出されます。ファイルが見つからないのですが、どうすればよいでしょうか?
処理方法は以下の通りです:
String s_config="conf/config.properties";
InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
if( in == null ){
System.out.println( "Open" + s_config + "失敗しました!" );
}else
{
Propertiesプロパティ = new Properties();
properties.load(in);
//
//次に、properties.getProperty(String obj)メソッド 情報の読み取り
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート