【黄啊码】单斜线、反斜线、双反斜线的区别以及使用场景

举报
黄啊码 发表于 2022/06/29 00:55:11 2022/06/29
【摘要】 1.这些符号在不同的系统下意义不同: //双斜线:协议和主机名之间的分隔符 (比如http://localhost:8080) /单斜线:windows里或者WEB上或者Unix内核的目录架构分隔符  \反斜线:windows 里的目录结构的分隔符, 正斜线也可。 \\双反斜线 :在windows里表示绝对地址的第一项...

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

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

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

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

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

3)在java程序里,目录中的间隔符可以是正斜线/。反斜线\表示转义字符,所以如果需要在Java【php也一样】程序里用到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应用的某一个文件在服务器上的绝对路径(部署后的路径,而不是部署前的路径)。

文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。

原文链接:markwcm.blog.csdn.net/article/details/123826169

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。