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

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应用的某一个文件在服务器上的绝对路径(部署后的路径,而不是部署前的路径)。

时间: 2024-10-14 19:45:13

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

java获得平台相关的行分隔符和java路径分隔符的方法

System.getProperties(): 行分隔符在windows 下是 \r\n,在Linux下面是 \n, 在Mac下是 \r路径分隔符在windows下是 \ ,在LInux下是 / System.getProperty("file.separator") java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.

java io学习记录(路径分隔符)

java路径分隔符(路径表示) path="E:\\xp\\test\\2.jpg"; path="E:/xp/test/2.jpg"; path="E:"+File.separator+"xp"+File.separator+"test"+File.separator+"2.jpg";(通用方式  适用于多种平台,适用于动态开发) windows下的路径分隔符 path="E

linux_DNS服务器(正解/反解)的简单创建

什么是DNS? DNS(Domain Name System) 域名系统.它是如今互联网上能够相互通信的服务之一,对于现在的互联网特别特别重要的,因为在这个人们不能很好记忆数字IP地址的问题上,输入IP地址来访问其他的主机是很困难的,和不现实的,如果数字IP地址用我们所熟悉的各种名称(字符,例如:baidu taobao 等)就很好记忆啦.DNS就是来完成这个解析的功能的. DNS工作的原理: 首先,我们先了解一个内容,例如www.baidu.com, www.baidu.com 在DNS中是有

python找出一个正序反序都相等的数字(例如28682)

直接上代码 #coding:utf-8 def f1(x): #定义一个函数,查找正序反序都相等的数字 if type(x) !=int: #如果函数参数不是整型,退出程序 exit('must a int type') x=str(x) lix=list(x) str1='' i=len(lix)-1 while i <len(lix) and i >=0: #循环的作用是将字符串从尾到头重新组合相加一次 str1=str1+lix[i] i=i-1 if x==str1: #如果源字符串和

java 路径分隔符自动适配

linux文件路径分隔符为 /  ,windows的文件路径分隔符为  \   ,在开发项目过程中不确定用户使用何种操作系统,就需要自动适配路径. 目前已知java提供两种方法获取文件路径分割符: File.separator System.getProperty("file.separator")

linux路径分隔符&#39;/&#39;与windows下的分隔符&#39;\\&#39;,以及java项目,web项目读取项目的路径

1, linux下的文件分隔符是'/', windows下的文件分隔符为'\'.但是'\'这个符号是转义符.如果需要在console输出'\'这个符号的,你需要输入'\\'.另外转义符'\'还可以用双引号的字符内部再次使用双引号的这种情况,例如下面第三行. @Test public void test$(){ System.out.println("\\"); System.out.println('/'); System.out.println("\"为了转义双引

python web开发-flask中url带斜线/和不带斜线/的区别详解

flask中带斜线和不带斜线的url 通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url" 先同时定义两种url,一种带"/",一种不带"/",如下代码: @app.route("/url")def urlWithOut():return "url with out /" @

解决python中join路径分隔符跨平台移植性

在Windows中路径分隔符是"\",而Linux中则是"/".这样一来,如果我们写了这样一段代码: 1 import os 2 3 print(os.path.join('C:\\', 'a', 'b.txt')) 在Windows中运行时是没有问题的,但是在Linux当中就有问题了,反之亦然.但是,我们可以用os.sep来指代当前系统所用的路径分隔符: 1 import os 2 3 print(os.path.join('C:',os.sep,'a', 'b.

c++中的相对路径和绝对路径,正斜杠 \,反斜杠/

绝对路径是指从盘符开始的全部路径,比如“C:\\Program Files\\Boot Camp\\1.exe”就是1.exe的绝对路径. 相对路径有两种表示方法".\\"和"..\\",".\\"表示当前目录,"..\\"比较父目录. 在windows下的路径从电脑中访问时为“\”,但是在设计程序时候这么写是错误的,因为会涉及到转义字符“\”.unix,类unix这点上做的比较好,以“/”表示地址.