5

jarに含まれるテキストファイルを読み込もうとしているJavaアプリがあります。

そうするとgetClass().getResource("/a/b/c/")、そのパスのURLを作成でき、それを印刷でき、すべてが正常に表示されます。

ただし、試してみるとgetClass().getResource(/a/b/../")nullURLが返されます。

..道のりが気に入らないようです。誰かが私が間違っているのを見ますか?役立つ場合は、さらにコードを投稿できます。

4

2 に答える 2

5

クラスのnormalize()メソッド(4つあります)FilenameUtilsが役に立ちます。これは、ApacheCommonsIOライブラリにあります。

final String name =  "/a/b/../";
final String normalizedName = FilenameUtils.normalize(name, true); // "/a/"
getClass().getResource(normalizedName);
于 2011-09-30T23:02:01.977 に答える
2

getResource()で指定するパスはファイルシステムパスではなく、ファイルオブジェクト(およびその同類)によってパスが解決されるのと同じ方法で正規に解決することはできません。別のパスに関連するリソースを読み取ろうとしていると思いますか?

于 2011-09-30T20:06:21.630 に答える