路径处理工具

题目描述

我需要一个路径处理工具, 用于处理路径相关的问题, 需要提供的功能有

  • parent eg: Path(a/b/c.xml).getParent() == Path(a/b/)
  • filename eg: Path(a/b/c.xml).getFilename() == String(c.xml)
  • resolve eg: Path(/).resolve(a/b/c.xml) == Path(/a/b/c.xml)
  • relativize eg: Path(a/b).relativize(a/b/c.xml) == Path(c.xml)
  • iterator 路径迭代
  • compareTo 路径比较
  • getPath 获取某一段路径 Path(a/b/c.xml).getPath(2) == Path(b)
  • subPath 路径截取 Path(a/b/c.xml).subPath(1,3) == Path(b/c.xml)
  • toString 路径输出 Path(a/b/c.xml).toString() == String(a/b/c.xml)
  • normalize 规范化路径 Path(a/b//c.xml).normalize() == Path(a/b/c.xml)

只需要支持 linux / 路径, 不需要支持 windows \ 路径

使用方式要求和 java.nio.Path 类似

题目来源及自己的思路

使用了 java.nio.Path 类, 发现有些情况下有 bug , 并且 toString 输出为 windows 路径在有些情况下有问题

使用了 java.net.URI 类, 不能满足 parent 功能

求一个好的路径工具类, 或者 lib 包

以上是 路径处理工具 的全部内容, 来源链接: utcz.com/p/944445.html

回到顶部