2011-08-22 67 views
4

我的類加載器將資源解析爲沒有url處理程序的源,例如它從數據庫獲取資源。這對於返回URL的ClassLoader.getResource(String)當然存在問題。對於URL.openConnection()等工作,我需要一個協議處理程序,這會造成一個附加問題。我如何將URL映射到我的數據提供者,而無需安裝自定義Url協議處理程序,這需要我在啓動時設置系統屬性。 url協議處理程序的問題是它們是靜態的,必須在啓動時設置,而我的類加載器是動態的,可以來自許多地方。在沒有協議處理程序的情況下實現ClassLoader.getResource(String)

有沒有辦法解決這個優雅的沒有協議處理程序?

回答

2

那麼,如果你正在實施ClassLoader.getResource(String)你自己可不可以使用constructor for URL作爲其參數之一?

public URL(String protocol, 
      String host, 
      int port, 
      String file, 
      URLStreamHandler handler) 
    throws MalformedURLException 
+0

謝謝我沒有發現 - 顯而易見,似乎是完美:) –

相關問題