Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在linux路径中有一个额外的“/。\”?_Java_Linux - Fatal编程技术网

Java 为什么在linux路径中有一个额外的“/。\”?

Java 为什么在linux路径中有一个额外的“/。\”?,java,linux,Java,Linux,Windows场景:- 我有一小段代码,可以让我知道目录中某个特定文件夹的位置。代码如下所示: browserPath = this.EnginePath + "\\Chrome_Selenium\\" + "chromedriver.exe"; 这将获得确切的路径:D:\Engine\Test 我尝试使用相同的逻辑来获取linux机器中的路径。 引擎和Chrome驱动程序存储在我的linux机器VM中的路径是 /根/发动机/铬/硒 现在是linux部分:- 我使用下面的一段代码来实现这一点

Windows场景:- 我有一小段代码,可以让我知道目录中某个特定文件夹的位置。代码如下所示:

browserPath = this.EnginePath + "\\Chrome_Selenium\\" + "chromedriver.exe";
这将获得确切的路径:D:\Engine\Test

我尝试使用相同的逻辑来获取linux机器中的路径。 引擎和Chrome驱动程序存储在我的linux机器VM中的路径是

/根/发动机/铬/硒

现在是linux部分:- 我使用下面的一段代码来实现这一点

browserPath = this.EnginePath + "/Chrome_Selenium/" + "chromedriver";
这段代码获取的路径是

/root/Engine/\Chrome\u Selenium\chromedriver


您能帮助我理解为什么路径中会出现/\吗?

我猜添加./的原因是因为在linux中,为了在当前工作目录中执行脚本,您需要这样处理:./脚本而不是脚本。即使不需要在其他文件夹中执行,也会以某种方式附加它


至于Alfe提到的主要部分,它一开始并没有什么不同。

我建议您不要运行您认为正在运行的代码,但Java文件名中永远不需要使用反斜杠。只需在所有平台上使用/即可。正如@EJP建议使用/As delimter一样,我总是使用/作为路径的分隔符。它可以在所有平台上正常工作,我们在Windows、Unix等平台上都有相同的部署:除了EJP的注释外://路径内的路径与/单独的路径相同,因为。是目录本身。在大多数情况下,我会说:不要想太多。它只是在路径连接起来并且后面的部分以./foo.开头时出现。。要明确它是基于当前工作目录的相对路径。因此,您的路径就是/root/Engine//Chrome\u Selenium/chromedriver,它与/root/Engine/Chrome\u Selenium/chromedriver相同。我不知道bar+/Chrome\u Selenium/+foo如何在\Chrome\u Selenium\后面加上反斜杠。您在问题中粘贴的代码不是正在执行的代码。因此,您的答案基本上由“不知何故”组成?