【本地资源路径&&网络资源路径&&正反斜杠在Java中的用法】
一、概念和用法
左正右反
先来看看转义字符的概念:通过 \ ,?来转变后面字母或符号的含义。意思就是改变字母本身的含义。
以"\"符号为例,JAVA中有很多操作,例如文件操作等,需要用到路径这个东西,比
如:com\mypackage\xxx.xml,这个路径一般是以字符串形式表示的,
但问题来了,JAVA不知道你的\号到底是路径中的下一层的意思,还是字符串"\"的意思。
正斜杠/表示除法,分隔。在windows系统中通常用来分隔命令行参数,/表示选项等。不能作为文件名。
反斜杠\,在windows系统中用来表示目录。
而在unix系统中,/表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。
在C#中 \ 是转义字符
下面附上一张Java中转义字符的图表
二、实际开发中碰到的问题
指定上传图片的时候为什么是用\\转义成\ 本地路径用’\’表示吗?
Windows 用反斜杠(“\”)表示路径的历史来自 DOS,而 DOS 的另一个传统是用斜杠(“/”)表示命令行参数,比如:cd %SystemDrive%dir /s /b shell32.dll既然 DOS 这边斜杠被占用了,只好找一个最接近的。那就是它了。而在 UNIX 环境中,我们用减号(“-”)和双减号(“--”)表示命令行参数。用斜杠表示命令行参数是兼容性原因。这个问题最初起源自 IBM。IBM 在最初加入 DOS 开发时贡献了大批工具,它们都是用斜杠处理命令行参数的。而这个传统源自于 DEC/IBM,比如当年的 VMS 就是用斜杠处理命令行参数,它的目录分隔符是美元符(“$”)。顺便说一句,这个传统也被部分地继承进了 DOS 和 Windows 体系,日文版的 Windows 就把反斜杠在屏幕上显示为“¥”,虽然实际上还是反斜杠。如今的 Windows 内核在处理路径时确实可以同时支持斜杠和反斜杠。很多时候我们看到用斜杠时出错,是因为应用程序层面的原因。比如 cmd.exe 就不支持用斜杠表示路径,而PowerShell.exe 支持,也正因为这个原因,PowerShell 开始转而使用减号作为命令行参数的起始符。
【本地资源路径&&网络资源路径&&正反斜杠在Java中的用法】的更多相关文章
- java中replaceAll反斜杠\ or java中replaceAll 括号[
java中replaceAll反斜杠\ String s=new String("this is a \\"); s.replaceAll("\\",&qu ...
- c#关于路径的总结(转) 虚拟路径波浪号~和斜杠/的区别
c#关于路径的总结(转) 来源:http://www.cnblogs.com/yugongmengjiutian/articles/5521165.html 前一段时间写代码时经常遇到获取路径问题 ...
- (转载)PHPCMS V9专题路径多了一个斜杠的解决办法
PHPCMSV9的专题,在设置生成静态并且网站的静态设置成生成在根目录的时候,专题路径的URL中会多出一个斜杠,如:http://www.2cto.com//special/ddos/ ,我只能说这是 ...
- MySQL数据库还原:路径必须用正斜杠?
也是术业不精,其实之前也用命令行还原过几次MySQL数据库,但总记不清语法.这不,今天想把另一台电脑上备份的数据库还原过来,结果不停报错,如下图所示: 后来才发现,因为偷懒直接复制的路径名里,用的全是 ...
- qt如何去掉文件路径最后一个反斜杠的内容
QString strTemp = “E:\\hell\\word\\detect.txt” int nIndex = strTemp.lastIndexOf('\\'); strTemp ...
- Apache 关于 mod_rewrite 遇到 %2F或%5C (正反斜杠)等特殊符号导致URL重写失效出现404的问题
.htaccess 文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d Rew ...
- 【转】Apache 关于 mod_rewrite 遇到 %2F或%5C (正反斜杠)等特殊符号导致URL重写失效出现404的问题
.htaccess 文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d Rew ...
- 反斜杠在JSP中的两种不同的含义
/ 在不同条件下的不同含义 / 代表WEB应用的根路径的情况:/ 交给 Servlet容器来处理 请求转发时: request.getRequestDispatcher("/xxxx&quo ...
- python数据读取路径为啥要用双反斜杠?
Window下python读取数据路径可以有三种表示方式: (1)'c:\\a.txt' ——>转义的方式.表示这里\\是一个普通\字符,不容易出错(2)r'c:\a.txt' ——>声明 ...
随机推荐
- King
King Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi ...
- Strange fuction
Strange fuction Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- JavaSE高级1
内部类 内部类概念: 所谓内部类(Inner Class),顾名思义,就是将一个类定义在另一个类的内部.内部的类称之为内部类. 内部类的主要特点: 内部类可以很好的实现隐藏,可以使用protected ...
- 30个CSS3选择器的应用
或许大家平时总是在用的选择器都是: id class 以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选 或许大家平时总是在用的选择器都是:#id .class ...
- SQLServer2008数据库安装图解
SQLServer2008数据库安装图解... ======================================= 解压下载的安装包,右键运行Setup.exe文件 =========== ...
- plsql远程连接虚拟机上的oracle
下载oracle instantclient_11_2和plsql 将oracle instantclient_11_2解压到任意目录 在此目录下新建network,在network目录下新建admi ...
- java工程师学习线路图
- 前后端分手大师——MVVM 模式
之前对 MVVM 模式一直只是模模糊糊的认识,正所谓没有实践就没有发言权,通过这两年对 Vue 框架的深入学习和项目实践,终于可以装B了有了拨开云雾见月明的感觉. 简而言之 Model–View–Vi ...
- MeasureString 通过文本宽度获取绘制高度
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using S ...
- VS2015如何连接mySQL数据库图文
1.新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集 2.从工具箱向form1窗体上拖一个按钮和datagridview ...