首先我们要了解在不同操作系统下对目录级别采用是什么方式
- linux中的路径一般用”/” (浏览器网页地址也是斜杠’/'来划分上下级目录 )
- win中的路径一般用”\”
当然这里是指一般,如果你非要在linux用”\”和cmd中用用”/”也是可以的。所以一般可以认为是”/”的作用等同于”\”。
但是我们知道现在流行的编码都是基于ascii编码的。所以在ascii编码中有一类转义字符开头是“ \ ",例如: “\n”表示换行并移动到下一行开头,“\0”表示空字符(NULL)。
所以这就决定了在java中 “ \ "反斜杠不能单独出现。需要在前面加上一个“ \ "反斜杠完成转义。
所以java中写路径可以用”/”,或用“\”将”\”转义一下,就成了”\”。当然可以同时出现,但不建议。
⭐⭐⭐正因为有转义字符的存在,所以这里还有一个特殊案例,
在java中 类似String的split()方法要对
“ \ " , " / ",” | “,” ."
等进行切分时,因为是特殊字符,都需要在起那么对其加上“ \",转义为
“ \\\ " , "\\ / ",”\\ | “,”\\ ."
public static void main(String[] args) {
String s = "cat C:\\\\Users\\\\Desktop\\\\test.txt | ds";
String[] commands = s.split("\\|");
for (String s1 : commands) {
System.out.println(s1);
}
}
对于不加”\" 的情况留于读者尝试。