我正在修复应用程序,其中恢复路径是Windows路径或unix路径(我不知道哪个直接)然后我需要将它们映射到当前操作系统中的适当路径。
显然Windows ==> Windows,* nix ==> * nix很直接。但是,当原始路径来自Windows将它们移动到* nix是有问题的,因为* nix会将这些路径解释为文件名(例如C:\ folderA \ fileB.txt映射到* nix中的文件而不是路径/folderA/fileB.txt)
我想要做的是提前解析路径,确定它们是否是windows / * nix路径,然后相应地对待它们。
有什么建议吗?
乔纳森
答案 0 :(得分:2)
java.io.File
类适用于两个平台上的斜杠分隔路径。
您还可以解析File.separator
值的路径,这些值基于运行程序的平台。
答案 1 :(得分:2)
由于Windows API将反斜杠\
和斜杠/
视为路径分隔符,并且由于Unix上的理智人员不在文件名中嵌入反斜杠,因此您只需将反斜杠转换为斜杠即可。那将在你要处理的路径的开头只留下驱动器号(C:
等)。