我有一个网址:
URL url=new URL("http://www.abc.com/aa/bb/cc/file.html");
和相对路径:
String relativePath="../file2.html"; //maybe is "/file3.html"
我希望http://www.abc.com/aa/bb/file2.html
使用变量url
和relativePath
怎么做?
答案 0 :(得分:49)
new URL(url, relativePath);
答案 1 :(得分:9)
从您的网址获取URI:
java.net.URI anURI=url.toUri();
然后,解析相对URI:
URI resultURI=anURI.resolve(relativePath);
最后,要获取URL类型,请使用URI结果变量的de方法 toUrl(),然后就可以了。
答案 2 :(得分:8)
如果要构建指向相对文件的URL,可以使用:
URL url = new URL(new URL("file:"), "./myLocalFile.txt");
答案 3 :(得分:2)
构建相对URL时,请记住基础是当前包的路径,而不是文件。我的意思是:referer文件在.../myProject/src/pckg/javafile.java
中,并且被重新命名的文件在.../myProject/some-other/nice.file
中,那么相对引用应该如下所示:
URL url = new URL(new URL("file:"), "./../some-other/nice.file");
这对我也有用:
URL url = new URL("file:./../some-other/nice.file");
答案 4 :(得分:0)
我发现有效的方法是:
<import resource="file:${CONFIG_PATH}/ldap-realm.xml"/>
<!-- SHIRO Access control -->
<bean id="securityManager" class="com.cgi.apps.centaur.engine.access.realm.IPOverridingSecurityManager">
<property name="realms" ref="shiroRealms"/>
<property name="cacheManager" ref="memoryConstrainedCacheManager"/>
<property name="sessionManager" ref="sessionManager"/>
</bean>
<bean id="sessionManager" class="com.cgi.apps.centaur.engine.access.realm.IPOverridingSessionManager">
</bean>
<bean id="memoryConstrainedCacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager"/>
答案 5 :(得分:-1)
这适用于我的代码
URL url=Myclass.class.getResource("/com/fnf/si/DepAcctInq_V02.wsdl");