关于路径分隔符:正斜线/反斜线双反斜线\的区别

Posted 阳台煮酒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于路径分隔符:正斜线/反斜线双反斜线\的区别相关的知识,希望对你有一定的参考价值。

1.这些符号在不同的系统下意义不同:

//双斜线:协议和主机名之间的分隔符 (比如http://localhost:8080)
/单斜线:windows里或者WEB上或者Unix内核的目录架构分隔符 
\\反斜线:windows 里的目录结构的分隔符, 正斜线也可。
\\\\双反斜线 :在windows里表示绝对地址的第一项,比如后面跟上IP地址的话,就是需要打开这个IP地址的网络共享资源。

2.关于目录间的间隔符用正斜线(/)或则反斜线(\\)的问题。

1)在UNIX环境下,目录中的间隔符是正斜线/。

2)在Windows平台上,目录中的间隔符用正斜线/和反斜线\\都可以。

3)在java程序里,目录中的间隔符可以是正斜线/。反斜线\\表示转义字符,所以如果需要在Java程序里用到Windows平台上的反斜线\\作为目录间隔符,必须是双反斜线\\\\。

  即:目录间隔符要么是斜线/,要么是双反斜线\\\\。

 

3.分析反斜线\\\\
变化比较多的是反斜线,反斜线在C里面(以及大部分编程语言)属于转义符,也就是其后的字符将有不同意义,比如\\n表示回车,再比如
在perl里面$x表示一个变量,而\\$x就不是变量了。至于\\\\就是将后面的\\转义了,此时后面的\\就不是转义符了,
而是\\字符本身,例如:
printf("\\\\n");
打印出来的就是\\n,而不是一个回车。
你只要记住\\会将后面的字符转义即可,,比如
printf("\\\\\\");
结果是编译错误,因为前面的两个\\\\是\\字符本身,第三个\\会去转义后面的",这样就会缺少一个引号,造成编译错误。
\\转义引号的地方很多,主要是要在字符串里包含引号,比如:
printf("hello \\"world\\"\\n");

 

例子:现在在servlet程序中想获取一个test.doc文件(在当前WEB应用的根目录下/WEB-INF/files文件夹里)的输出流:

当然了,这里也可以是

要么是

  

打印fileName,可得E:\\apache-tomcat-8.0.37\\webapps\\20161028-FileUpLoad\\WEB-INF\\files\\test.doc。

然后向outputStream里write,进入E:\\apache-tomcat-8.0.37\\webapps\\20161028-FileUpLoad\\WEB-INF\\files目录,会看到确实多了一个文件:test.doc。

同时,这也意味着:通过getRealPath获取当前WEB应用的某一个文件在服务器上的绝对路径(部署后的路径,而不是部署前的路径)。

以上是关于关于路径分隔符:正斜线/反斜线双反斜线\的区别的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式总结

PHP常用文件函数和目录函数整理

PHP dirname 返回路径中的目录部分

php 文件夹 与 文件目录操作

CSS练习-导航栏斜线分隔-利用伪元素

020100——00001_绝对路径与相对路径