java用减号分割地址与参数_//与/与\与\\

1、作为盘符路径分隔符

①在windows操作系统中,文件路径的分隔符是反斜杠(“\”)

例如: D:\red\ant(写成两个反斜杠的目的就是为了防止转义)

②在linux操作系统中,文件的分隔符是斜杠(“/”)

,例如:/opt/red/ant(这种路径在windows下也是识别的,因此作为通用表示方式。但是也存在一个弊端:就是文件夹命名的空格问题,windows用这种方式不识别。)

32690ab9c54fa6b953c289a2933416d4.png

像这种带有空格的盘符,“/”在windows下就无法表示,只能避免。

③由于web遵循unix命名,所以在网址(URL)中,/表示目录。

【日常的开发中考虑其安全性,大部分把web应用都部署在linux环境中。我们可以直接使用File.separator去让JVM自动的选择斜杠还是反斜杠,但是排查问题就免不了使用正反斜杠了】

2、网络协议

④//一般用于网络协议中,比如最常用的HTTP://就是超文本传输协议,//一般都用协议名+冒号+//表示,如FTP:// MMS://等等。

⑤\一般用于局域网中计算机之间的互访,也就是说它后面加一个IP或者机器名,可以访问另一台机器的共享文件。

3、转义

⑥所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。

而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思。

bf1f7fcee7ac0f348e1b6f568a2b2bd9.png

【图片来自百度百科】

4、执行参数

⑦windows 用反斜杠(“\”)的历史来自 DOS,而 DOS 的另一个传统是用斜杠(“/”)表示命令行参数。

例如:

cd %SystemDrive%

dir /s /b shell32.dll

【既然 DOS 这边斜杠被占用了,只好找一个最接近的。那就是它了。而在 UNIX 环境中,我们用减号(“-”)和双减号(“--”)表示命令行参数。】

Windows 内核在处理路径时确实可以同时支持斜杠和反斜杠。很多时候我们看到用斜杠时出错,是因为应用程序层面的原因。比如 cmd.exe 就不支持用斜杠表示路径,而PowerShell.exe 支持,也正因为这个原因,PowerShell 开始转而使用减号作为命令行参数的起始符。

5、java与正则

⑧Java语言中,斜杠“/”没有特殊含义,一个斜杠“/”只是表示字符‘/‘,两个“//”表示注释标记。

⑨java语言中反斜杠“\”表示它和紧跟着它的那个字符构成转义字符(前面第三条提到的转义)。

⑩正则表达式中解析器现将"\\"视为转义字符转为"\",接着再次转换将"\\"转为"\"(现在才是字符,之前是转义字符)。因此表示"\\",在正则中需要"\\\\\\\\"。【没想到这里也转义了,因此我写的时候敲了16个】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值