Java 重构Windows、UNIX、URI路径混合

Java 重构Windows、UNIX、URI路径混合,java,refactoring,Java,Refactoring,对于将各种类型的路径存储为String对象以仅使用URI对象的重构代码,有哪些替代方案 代码当前具有存储为String对象的路径,在这些对象中可以保存值 系统路径(当前平台的目录分隔符) URI Windows路径(\所有平台上的目录分隔符) UNIX路径(/所有平台上的目录分隔符) 奇美拉路径(\目录分隔符,URL编码) 代码库有一些单元测试。我心目中的方法是 介绍WindowsFile、UnixFile和ChimeraFile包装类 转换代码使用文件、URI或包装类而不是字符串 通过依次

对于将各种类型的路径存储为
String
对象以仅使用
URI
对象的重构代码,有哪些替代方案

代码当前具有存储为
String
对象的路径,在这些对象中可以保存值

  • 系统路径(当前平台的目录分隔符)
  • URI
  • Windows路径(
    \
    所有平台上的目录分隔符)
  • UNIX路径(
    /
    所有平台上的目录分隔符)
  • 奇美拉路径(
    \
    目录分隔符,URL编码)
代码库有一些单元测试。我心目中的方法是

  • 介绍
    WindowsFile
    UnixFile
    ChimeraFile
    包装类
  • 转换代码使用
    文件
    URI
    或包装类而不是
    字符串
  • 通过依次处理每种类型,重构代码以仅使用
    URI

  • 是否有其他重构方法或步骤可以使该过程更容易或更安全。

    我会使用File.Separator而不是“/”和“\”,而且简单易行,没有任何问题

    这似乎是一种有效的方法。并非所有路径都是在代码中生成的,因此我无法更改它们的创建方式。此外,分隔符只是问题的一部分,因为我还必须确保路径有效
    URI
    s。我想将所有内容转换为
    URI
    的原因是为了类型安全,旧的
    String
    方法是路径当前不统一的原因。path1=“blah”+File.Separator+“blah_blah”问题是关于将字符串对象中的各种路径类型重构为URI对象的过程,不是如何将路径构造为字符串,也不是如何从字符串中获取URI。@jelovirt如果构造正确,那么重构就容易了。构造不是问题。这意味着嵌合体路径是围绕代码传递和修改的。