Java 如何区分window/*nix路径

Java 如何区分window/*nix路径,java,windows,unix,filepath,Java,Windows,Unix,Filepath,我正在开发恢复应用程序,其中恢复路径要么是windows路径,要么是unix路径(我不知道是哪个路径),然后我需要将它们映射到当前操作系统中的适当路径 显然,Windows==>Windows,*nix==>*nix是直截了当的。但是,当原始路径来自Windows时,将它们移动到*nix是有问题的,因为*nix会将这些路径解释为文件名(例如C:\folderA\fileB.txt映射到*nix中的文件,而不是/folderA/fileB.txt的路径) 我要做的是提前解析路径,确定它们是否是wi

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

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

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

有什么建议吗


Jonathan

java.io.File类在两种平台上都可以使用斜杠分隔的路径


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

java.io.File类在两个平台上都可以使用斜杠分隔的路径


您还可以分析
文件.separator
值的路径,该值基于程序运行的平台。

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

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