タグ

2008年12月11日のブックマーク (1件)

  • Class#getResource と ClassLoader#getResource の違いと怪しさ - philosophical

    設定ファイルやら相対パスを使ったリソース参照のために、よく getResource() や getResourceAsStream() を用います。 これらに与えるリソース名について Class#getResource() のドキュメントでは以下のような説明がされています。委譲の前に、このアルゴリズムを使って指定されたリソース名から絶対リソース名が構築されます。 name が「/」(「\u002f」) で始まる場合、リソースの絶対名は「/」に続く name の部分であるそうでない場合、絶対名は以下の形式になるmodified_package_name/nameここで、modified_package_name は、「. 」(「\u002e 」) を「/」に置き換えたこのオブジェクトのパッケージ名になるこれは実装を忠実に表しています。しかし ClassLoader#getResource