用Java8打印所有支持的URL方案



有没有办法在Java8中打印所有支持的URL方案?我知道Java8支持httphttpsfile等,但还支持什么,URL.openStream()方法可以正确处理什么?

java.net.URL的javadoc状态:

以下协议的协议处理程序保证存在于搜索路径上:http、https、file和jar

用于附加协议的协议处理程序也可以是可用的。

如果您想要的不仅仅是http、https、file和jar,您需要通过编写和加载协议处理程序来自行配置它们。

  • 如果应用程序之前已将URLStreamHandlerFactory的实例设置为流处理程序工厂,则会使用协议字符串作为参数来调用该实例的createURLStreamHandler方法,以创建流协议处理程序。

  • 如果尚未设置URLStreamHandlerFactory,或者如果工厂的createURLStreamHandler方法返回null,则构造函数将查找系统属性的值:java.protocol.handler.pkgs

  • 如果该系统属性的值不为null,则会将其解释为由垂直斜杠字符"|"分隔的包列表。构造函数尝试加载名为<package>.<protocol>.Handler的类

。。。。其中CCD_ 12由包的名称代替,CCD_。如果该类不存在,或者该类存在但不是URLStreamHandler的子类,则尝试列表中的下一个包。

  • 如果上一步未能找到协议处理程序,那么构造函数将尝试从系统默认包加载:<system default package>.<protocol>.Handler

最新更新