开发者社区> 问答> 正文

为什么URLClassPath不支持所有类型的URL进行遍历?

为什么URLClassPath不支持所有类型的URL进行遍历?

展开
收起
萝卜丝丸子 2024-08-28 14:10:11 29 0
2 条回答
写回答
取消 提交回答
  • 主要是因为URL的类型多样且功能各异。虽然本地文件目录和jar包是最常见的可遍历类型,但其他类型的URL(如某些特殊协议或自定义协议的URL)可能只提供了基于名称的get接口,而不支持遍历。由于这种不一致性,URLClassPath无法为所有类型的URL提供统一的遍历和索引机制。

    2024-08-28 15:53:00
    赞同 42 展开评论 打赏
  • URLClassPath这个是Java类库中用于处理类路径(class path)中的URLs并从中加载类和资源的一个类,它主要服务于类加载器
    其实这个类的设计之初为了能够从多种类型的资源位置(如文件系统、网络资源等)加载类和资源,但并不是所有的URL协议都支持目录遍历或者列表操作。

    但是有一些类是不支持的
    比如

    http:或https:协议:通常不支持遍历。Web服务器上的资源并不暴露目录结构供客户端遍历,出于安全考虑,服务器也很少提供这样的功能

    在设计上其实就不能保证对所有类的URL进行遍历的
    image.png

    参考文档

    2024-08-28 14:59:59
    赞同 48 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载