Javaでresource(リソース)を取得して分析するプログラム

Javaコード:
public java.net.URL getResource(String name) {
name = resolveName(name);
ClassLoader cl = getClassLoader0();
if (cl==null) {
return ClassLoader.getSystemResource(name);
}
return cl.getResource(name);
}

private String resolveName(String name) {  //resoveNameの処理
if (name == null) {
return name;
}
if (!name.startsWith(“/")) {
Class<?> c = this;
while (c.isArray()) {
c = c.getComponentType();
}
String baseName = c.getName();
int index = baseName.lastIndexOf('.’);
if (index != -1) {
name = baseName.substring(0, index).replace('.’, '/’)
+"/"+name;
}
} else {
name = name.substring(1);
}
return name;
}
説明:
1.getSystemResource()
システムリソースにアクセスするには、特殊なメソッド (getSystemResource と getSystemResourceAsStream) を使用し、基本ホストの実装を実行します。

2.getResource()
getResource() メソッドはリソースの URL を返します。この URL およびその表現は、実装および JVM に固有です。 つまり、ある実行時インスタンスで取得された URL は、別の実行時インスタンスでは動作しない可能性があります。プロトコルは通常、リソースをロードする ClassLoader に特有です。リソースが存在しない場合や、セキュリティー上の理由で不可視である場合、メソッドは null を返します。

3.getComponentType()
配列のコンポーネント型を表すclassを返します。

Java

Posted by arkgame