0

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

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

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

有什么建议么?

乔纳森

4

2 回答 2

2

该类java.io.File在两个平台上都可以与斜线分隔的路径一起正常工作。

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

于 2012-11-21T15:56:37.303 回答
2

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

于 2012-11-21T15:57:22.533 回答