如何区分窗口/ * nix路径

时间:2012-11-21 15:54:27

标签: java windows unix filepath

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

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

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

有什么建议吗?

乔纳森

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

由于Windows API将反斜杠\和斜杠/视为路径分隔符,并且由于Unix上的理智人员不在文件名中嵌入反斜杠,因此您只需将反斜杠转换为斜杠即可。那将在你要处理的路径的开头只留下驱动器号(C:等)。