Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
2022-02-17 02:20:31
環境について
MyEclipse 8.6 + JDK 1.6.31
<スパン
質問
コンソールテストでは、設定ファイルは問題なく読み込めますが、デプロイ先が トムキャット 再度読み込むと、以下のエラーが発生します。
指定されたファイルが見つかりません
解決方法
でコンソールで正しく読み取れるコードをまず読者に紹介します。
package com.axt.sms.util;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util;
/**
Properties; /**
* @version 1.0
* @since JDK 1.6
*/
public class PropertiesConfig {
/**
*/
public static Properties readData(String filePath) {
filePath = getRealPath(filePath);
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream(new FileInputStream(filePath));
props.load(in);
in.close();
return props;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static Properties readDBData(){
Properties props = new Properties();
try {
props.load(new FileInputStream("db.properties").getClass().getResourceAsStream("db.properties")));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return props;
}
private static String getRealPath(String filePath) {
return PropertiesConfig.class.getResource("/" + filePath).toString().substring(6);
}
}
<スパン 改善されたコードをもう一度見てみる。
package com.axt.sms.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util;
public class PropertiesUtil {
private InputStream inputStream;
private Properties properties;
public PropertiesUtil(String fileName) {
inputStream = this.getClass().getClassLoader().getResourceAsStream(fileName);
properties = new Properties();
}
/**
* Get the signature
* @return
* @throws UnsupportedEncodingException
*/
public String getSignature() throws UnsupportedEncodingException{
try {
properties.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
return new String(properties.getProperty("signature").getBytes("ISO-8859-1"), "UTF-8"));
}
public static void main(String[] args) {
try {
System.out.println(new PropertiesUtil("sms.properties").getSignature());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
概要
<スパン
<スパン デプロイ先 トムキャット サーバーの場合は、絶対パスを取る必要があります。サーバにデプロイした後、ディレクトリのパスは動的に変更されるので 取得リソースアズストリーム メソッドを使用します。
<スパン
<スパン
<テーブル ウェンタシー ブログ記事は参考程度に、訪問を歓迎します。間違いがあれば、ご批判、ご訂正いただければと思います。元のブログ記事を再現する必要がある場合は、ソースを引用してください、ありがとうございます :) [CSDNブログ]をご覧ください。関連
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
ジャバアレイ
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
java send https request prompt java.security.cert.について。
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
MySQLIntegrityConstraintViolationException、解決方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
型に解決できない エラー解決
-
Java の switch case 文で必要な定数式の問題の解決法
-
Uncaught ReferenceError: は定義されていません。
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
htmlとwordの相互変換の実装(画像あり)
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
com.fasterxml.jackson.databind.JsonMappingException を解決してください。複雑な型(リスト、マップ)を2つの方法で処理するために、ジャクソンに適したものはありません。
-
Java上級(XLVI) ArrayList、Vector、LinkedListの類似点と相違点を簡単に説明できる。