用途:在 Dart 中安全地进行跨平台文件与目录路径操作,避免把路径当普通字符串处理。
主要能力:用 p.join 拼接路径,用 p.split 分解路径段,用 p.extension、p.withoutExtension 提取扩展名与主干,用 p.normalize 做词法规范化、p.canonicalize 做物理规范化,用 p.toUri、p.fromUri 在路径与 URI 间转换,并借助 p.posix.joinAll、p.url.joinAll 把原生路径桥接到 POSIX、Git 与 URL 上下文。
使用方式:跨平台库把各段传给 p.join(dir, 'sub', 'file.json');仅面向 POSIX 时可用两参数边界拼接保留可搜索性。判断目录层级用 p.split(path) 的列表模式或 p.isWithin,而非 contains、startsWith。处理 package:file 时使用 dir.fileSystem.path 上的 Context,而非全局 p.*,以便 MemoryFileSystem 测试。生成 .gitignore、仓库清单或符号链接目标时,先 p.relative 再用 p.posix 转换。
适用场景:CLI 应用、构建工具、需要同时支持 Windows 与 POSIX 的 Dart/Flutter 项目,以及使用 MemoryFileSystem 的单元测试。
限制:资料未提供安装命令、版本要求、性能数据或收费信息;p.extension(filename, 2) 会盲目取最后两段,遇到多重点主干需先判断是否为已知复合扩展名。