windows和linux中用于java代码的路径分隔符

windows和linux中用于java代码的路径分隔符,java,windows,filepath,Java,Windows,Filepath,在我的java代码中,我有一些硬编码的路径,我将其编写为 String workingPath = initPath + "\\" + tmpPath; initPath和tmpPath通过File.getParent()获得。现在,这在windows上运行,如果我将代码移动到linux,那么\\将有问题,因为其他两个是由系统方法决定的。结果是这样的 /home/mahmood/project/alpha\temp1 我怎样才能解决这个问题?我不想在linux系统的代码中添加/。有一个变量可

在我的java代码中,我有一些硬编码的路径,我将其编写为

String workingPath = initPath + "\\" + tmpPath;
initPath
tmpPath
通过
File.getParent()
获得。现在,这在windows上运行,如果我将代码移动到linux,那么
\\
将有问题,因为其他两个是由系统方法决定的。结果是这样的

/home/mahmood/project/alpha\temp1

我怎样才能解决这个问题?我不想在linux系统的代码中添加
/

有一个变量可以使用:

依赖于系统的默认名称分隔符,为方便起见,以字符串表示。此字段初始化为包含系统属性file.separator值的第一个字符。在UNIX系统上,此字段的值为“/”;在Microsoft Windows系统上,它是“\”


File类有一个接受父目录的构造函数。如果使用此选项,则不需要手动连接路径

final File parent = new File("/home/mahmood/project/alpha");
final File tmp = new File(parent, "temp1");

您可以在Windows和Linux上使用
/
,另一个选项是使用
文件(文件,字符串)
来构建路径。@ElliottFrisch您的评论是一个很好的解决方案,应该是一篇回答文章。
final File parent = new File("/home/mahmood/project/alpha");
final File tmp = new File(parent, "temp1");