• 締切済み

getResourceAsStream について

getResourceAsStream について getResourceAsStreamについてご教授ください。 getResourceAsStream を使用して、classファイルと同フォルダ内に存在した「abcde.properties」ファイルを読み込んで処理(サンプル(1))を行っていたのですが、「abcde.properties」ファイルを、諸事情にて全く違うフォルダへ移動することになりました。 そこで、サンプル(1)をサンプル(2)のように変更したのですが、まったくうまくいきません。 パスの書き方に問題があると思っているのですが、どう記述したらよいのか分からず困っております。 サンプル(1) try{ Properties rs = new Properties() rs.load(fileSaveFacade.class.getResourceAsStream("abcde.properties")) ... } サンプル(2) try{ Properties rs = new Properties() rs.load(fileSaveFacade.class.getResourceAsStream ("C:\\project.EAR\\config\\abcde.properties")) ... } JAVA開発者の方にとっては基本的なことだとは思いますが、ご教授の程、よろしくお願いします。

みんなの回答

  • _yasuo
  • ベストアンサー率41% (16/39)
回答No.1

しばらくJavaは書いてないですが、getResourceAsStreamは、WEB-INF/classとかjarとかの内部コンテンツをロードする際に使ってたような。 jarとかwarの中でなければ、以下のコードでいけませんかねぇ。 Properties rs = new Properties(); rs.load(new FileInputStream("C:\\project.EAR\\config\\abcde.properties")); まったく動かしてないので、動作するかわかりませんが

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイルパスが取得出来ない(Properties.getProperty使用)

    PropertiesクラスのgetPropertyメソッドを利用して 外部ファイルより値を取得しようとしています。 // ファイルパスの取得 java.util.Properties pr = new Properties(); pr.load(new FileInputStream("sample.properties")); String filePath = pr.getProperty("filePath"); fis.close(); // sample.properties filePath = C:\test\test.txt しかし、エスケープ記号?が問題で下記のようになり うまく取得出来ません。 filePath = C: est est.txt なぜこのような現象が起こるのでしょうか。 また、回避策はありますでしょうか。 よろしくお願いします。

  • パスがとおらない・・・

    以下のようなプロジェクトがあるとします。 tomcatproject | |-WEB-INF   |   |-conf(appli.properties)   |   |-src    |    |-test(TestServlet.java) TestServletの内容は以下の通りです。(一部省略) ---------------------------------------------------- private static Properties p = new Properties(); public void init(){  try {   p.load(new FileInputStream("/tomcatproject/WEB-INF/conf/appli.properties"));  } catch (FileNotFoundException e) {   e.printStackTrace();  } catch (IOException e) {   e.printStackTrace();  } } ---------------------------------------------------- PropertiesのloadにいったときにFileNotFoundExceptionが 発生してしまうのですが、いろいろ試した結果絶対パス以外は 通らないんです・・・。(C:\eclipse\workspace\........) どうやれば相対パスで通りますか? ご教授頂ければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • Eclipse

    Eclipseを使い、FileReaderでテキストファイルを読みこみたいのですが、 プロジェクトフォルダの中に読み込むテキストファイルを保存して、以下のように指定しました FileReader in = new FileReader("/workspace/Project/sam.txt"); しかし、エラーメッセージで、システムはこのパスを見つけられないと表示されました。 Projectフォルダの中には、classファイルが入っているbinフォルダと、javaファイルが入っているsrcフォルダがあるのですが、 テキストファイルをclassファイルと同じbinに保存してパスを指定しても見つけられないとエラーがでました。 srcフォルダに入れても同様のエラーです。 Eclipseでテキストファイルを読み込む場合、テキストファイルはどこに保存すればよいのでしょうか? それともパスの指定の仕方が間違っていますでしょうか?

    • ベストアンサー
    • Java
  • プロパティリストをVectorに出力したい場合

    プロパティファイルの中身をVectorに入れたいのですが、 APIを見ると、 list(PrintStream out) 指定された出力ストリームに、プロパティリストを出力します。 と書かれてありますが、PrintStream outの部分をどうやればいいのかかわかりません・・・。 ご教授いただけたら幸いです。 よろしくお願いします。 Properties prop = new Properties(); prop.load(new FileInputStream("./test.properties")); prop.list(???);

    • ベストアンサー
    • Java
  • フォルダ構成の不明なソースをEclipsでプロジェクト化するには?

    あるソースをフォルダごと頂いたのですが、 そのフォルダには、ant、java、systemの3つフォルダがあり、 antには、いくつかのbatファイルが、 javaには、antlib、jsp、lib、srcフォルダがあり、 systemには、xmlファイルやpropertiesファイルがあります。 特にプロジェクトファイルや環境設定ファイルらしきものはみつからず この状態のものを、Eclips3.2で、取り込もうと思うのですが、 どうやって取り込んでいったらよいでしょうか? やはり、root以下のフォルダ構成を聞かないとわからないでしょうか?

  • ファイルよりの文字列の取り込み(Properties)

    下記のプログラムでテキストファイルに"0x5C"を含む文字列を 取り込んだ時に文字化けしてしまいます。 テキストファイルに\\を付加する逃げ方は検索して発見しましたが \\を付加を付加せずに解決する方法は有りませんでしょうか? import java.io.FileInputStream; import java.util.Properties; public class Class1 {  public static void main (String[] args) {   try {    FileInputStream oFileInputStream = new FileInputStream("c:\\test.txt");    Properties oProperties = new Properties();    oProperties.load(oFileInputStream);    String sTmp1 = oProperties.getProperty("100001T");    String sBuf1 = new String(sTmp1.getBytes("8859_1"), "MS932");    String sBuf2 = new String(oProperties.getProperty("100001M").getBytes("8859_1"), "MS932");    System.out.println(sBuf1);    System.out.println(sBuf2);   } catch (Exception oException) {    oException.printStackTrace();   }  } } /* 実行結果 可狽ナす。可狽ナす。可狽ナす。可狽ナす。 可能です。 */ /* test.txtの内容 100001T=可能です。可能です。可能です。可能です。 100001M=可能\\です。 100001S=1 100001L=0 */

    • ベストアンサー
    • Java
  • propertiesが読み込めなくてnullになる件について

    <エラー内容> HTTP Status 404 - /enquete/null/servlet/enquete.back.LoginSvlt Config.propertiesが読み込めなくてnullになっています。 propertiesの配置場所はWEB-INFのclassフォルダのしたにしています。 一応、場所が間違っているといけないので考えられるところすべてに配置してもうまくいきません。 enquete │  ├―WEB-INF │ │  │ │  │ ├―classes │ │ │ Config.properties │ │ │  │ │ ├―enquete │ │ │ └―back │ │ │     Config.properties │ │ │     LoginSvlt.class │ │ │      │ └―src │   │ Config.properties │   │  │   └―enquete │     └―back │         Config.properties │         LoginSvlt.java │          └―LoginJsp.jsp <Config.properties> #BACK エイリアス名 BACKALIAS=/enquete <LoginSvlt.java> //セッション管理 HttpSession session = generateSession(request); ResourceBundle rb = ResourceBundle.getBundle("Config"); System.out.println("Config"); System.out.println("BACKALIAS"); String b_alias = rb.getString("BACKALIAS"); session.setAttribute("b_alias", b_alias); <LoginJsp.jsp> String b_alias = (String)session.getAttribute("b_alias"); <form method="post" name="logon_form" action="<%= b_alias %>/servlet/enquete.back.LoginSvlt"> 以下の環境にて利用を試みております。 ・eclipse2.1 ・TomcatPlugin/2.1 ・JDK-1.4.2 ・Tomcat/4.1.27 Oracle10g express edtion ご教授よろしくお願いします

  • リソースファイルを認識してくれません。

    多言語対応としてリソースファイルを使用したいと四苦八苦しています。 bundle.jsp -- <%@ page contentType="text/html; charset=Shift_JIS" import="java.util.*" %> <% Locale objLcl=request.getLocale(); if(objLcl==null){objLcl=Locale.ENGLISH;} ResourceBundle objRb=ResourceBundle.getBundle("rs",objLcl); out.print(objRb.getString("sample.title")); %> -- rs.properties -- sample.title=This is English screen. -- 上記の2ファイルを作成し、rs.propertiesは WEB-INF/classes配下に置きました。 ブラウザからbundle.jspにアクセスすると下記のようなエラーが出ます。 java.util.MissingResourceException: Can't find bundle for base name rs, locale en_US ※ブラウザの言語はen_USにしてあります。 リソースファイルを認識していないと思うのですが、何か設定がいるのでしょうか? ただ、置くだけでは駄目なのでしょうか?

  • Tomcatプロジェクトの.propertiesファイルの置き場

    当方、Tomcat5.0,Eclipseでサーブレットを開発しております。 初歩的な質問で申し訳ありませんが、プロパティファイルの置き場所が 分からず難儀しております。 どなたかご教示願います。 prop.load(new FileInputStream("C:/work/workspace/worktools/mail.properties")); 上記の様にフルパスを指定すると認識するのですが、 prop.load(new FileInputStream("mail.properties")); この様にパスを省略するとFileNotFoundExceptionが発生してしまいます。WEB-INF直下にファイルを置いてるのですが、間違いなのでしょうか?

    • ベストアンサー
    • Java
  • Javaのプロパティファイルの文字化け対策

    いつもお世話になっております。 一連の質問で大分クリアになって来たのですが、まだ課題が残っています。 xxx.propertiesファイルを作成したとします。 プロパティに日本語を設定しました。 Java上でgetProperties()をすると文字化けしてしまいます。 初歩的な質問で申し訳ありませんが、具体的な対策をご教示願います。 public String getMailSubject() throws MailSendErrorException { String subject = null; try { Properties prop = new Properties(); // プロパティファイルからキーと値のリストを読み込む prop.load(new FileInputStream(this.properties)); subject = prop.getProperty("mail.subject"); } catch (Exception e) { e.printStackTrace(); throw new MailSendErrorException(); } return subject; } 上記のソースでmail.subjectに設定してある日本語文字列を取得したいのですが色々試しましたが上手く行きません。

    • ベストアンサー
    • Java