1

展開する各アプリの内部サーバーの保護されたフォルダーに、データベース資格情報を含むプロパティ ファイルを維持しています。資格情報を WAR ファイルに保存することは許可されていません。

PC でテストするときのパスは Windows マウントですが、サーバーにデプロイするときは UNIX パスです

私はそのように検索を処理してきました

//siteDbCedentialFolder obtained from web.xml

Properties prop = new Properties();
InputStream in = null;
try {
    //assume running on server first
      in = new FileInputStream("/abc/data/" + siteDbCedentialFolder + "/props.txt");
    } catch (java.io.IOException ex) {
    // Probabaly Running locally
      in = new FileInputStream("W:/internal/abc/data/" + siteDbCedentialFolder + "/props.txt");
    } catch (Exception xx) {
    xx.printStackTrace();
    }
prop.load(in);
in.close();

キャッチを使用してローカルパスを取得する私のアプローチは問題ありませんか、これをコーディングするより良い方法はありますか?

4

1 に答える 1

1

より良い方法は、txtファイルをユーザーのホームディレクトリに置き、それを取得することです

System.getProperty("user.home");

フルパスを取得する

String pathToFile = System.getProperty("user.home") + File.separator + "data" + File.separator + "props.txt";

ファイルを適切な場所(ユーザーホーム)に配置する必要がある場合、すべてのプラットフォームで機能します

于 2012-06-27T12:57:13.663 に答える