2010-09-08 24 views

Trả lời

47
new URL(url, relativePath); 
+1

+1. Thêm chi tiết về API Java: http://download.oracle.com/javase/6/docs/api/java/net/URL.html –

+0

cảm ơn nhưng chỉ có trong JDK6: ( – Koerr

+0

Không, phương thức tồn tại từ 1.0 Đây là ít nhất là doc cho 1.3 (không thể tìm thấy 1.0;). Http://download.oracle.com/javase/1.3/docs/api/java/net/URL.html#URL%28java.net.URL, % 20java.lang.String% 29 – Arne

9

Thử điều hành lớp IX URI thay vì URL.

Để có được URI từ URL của bạn:

java.net.URI anURI=url.toUri(); 

Sau đó, để giải quyết các URI tương đối:

URI resultURI=anURI.resolve(relativePath); 

Và cuối cùng, để có được một loại URL sử dụng de phương pháp tourl() của biến kết quả URI và bạn đã có nó.

+5

Tại sao sử dụng URI tốt hơn URL? – sixtyfootersdude

7

Nếu bạn muốn xây dựng một URL trỏ đến một tập tin tương đối, bạn có thể sử dụng:

URL url = new URL(new URL("file:"), "./myLocalFile.txt"); 
2

Khi xây dựng URL có liên quan, hãy ghi nhớ rằng cơ sở là đường dẫn đến gói hiện tại, chứ không phải nộp. Ý tôi là: file referer là trong .../myProject/src/pckg/javafile.java và file referated là trong .../myProject/some-other/nice.file, sau đó các tài liệu tham khảo liên quan nên xem xét như thế này:

URL url = new URL(new URL("file:"), "./../some-other/nice.file"); 

và các công trình này đối với tôi cũng như:

URL url = new URL("file:./../some-other/nice.file"); 
-1

này làm việc cho mã của tôi
URL url=Myclass.class.getResource("/com/fnf/si/DepAcctInq_V02.wsdl");

Các vấn đề liên quan