【问题标题】:How to differentiate between window / *nix paths如何区分 window / *nix 路径
【发布时间】:2012-11-21 15:54:27
【问题描述】:

我正在开发恢复应用程序,其中恢复路径是 windows 路径或 unix 路径(我不知道哪个直接),然后我需要将它们映射到当前操作系统中的适当路径。

显然 Windows ==> Windows,*nix ==> *nix 是直截了当的。但是,当原始路径来自 Windows 时,将它们移动到 *nix 是有问题的,因为 *nix 会将这些路径解释为文件名(例如 C:\folderA\fileB.txt 映射到 *nix 中的文件而不是/folderA/fileB.txt)

我要做的是提前解析路径,确定它们是否是 windows/*nix 路径,然后相应地处理它们。

有什么建议吗?

乔纳森

【问题讨论】:

    标签: java windows unix filepath


    【解决方案1】:

    java.io.File 类在两个平台上都适用于斜线分隔的路径。

    您还可以解析File.separator 值的路径,这取决于程序运行的平台。

    【讨论】:

      【解决方案2】:

      由于 Windows API 将反斜杠 \ 和斜杠 / 视为路径分隔符,并且由于 Unix 上的正常人不会在文件名中嵌入反斜杠,因此您可以简单地将反斜杠转换为斜杠。这样一来,您在处理路径的开头就只剩下驱动器号(C: 等)。

      【讨论】:

        猜你喜欢
        • 2013-04-10
        • 2017-05-20
        • 2017-10-06
        • 2011-03-20
        • 1970-01-01
        • 1970-01-01
        • 2018-07-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多