在java的实际开发中,经常会遇填写一个文件的相对路径或者是绝对路径的问题,对于初学者来说,经常犯难的是到底是用\
还是用/
的问题,本文将彻底解决这个问题的困扰.
先来看要下路径符号在windows系统和再linux系统写的显示使用的区别:
Windows下的路径:
Linux下的路径:
对比可以发现:windows使用的是\
linux使用的是/
然而在java的代码开发中\
是代表转义字符的,/
才是代表路径符号,也就是说java代码中的路径符号与linux下的显示路径符号是一致的.相反在windows下的显示是恰好与java代码中的路径符号是相反的.
当然在java代码中开发时是可以使用转义字符来处理路径符号的: String path = "D:\ProgramFiles";
错 String path = "D:\\ProgramFiles";
正确,用了转义符号
同样是也还是你可以直接使用路径符号来表达的: String path = "D:/ProgramFiles";
正确,路径符号不需要转义
另外需要注意的是Java的转义字符\
的转义并不是什么都需要转义,什么都可以转义,它只支持一下转义: \b
\t
\n
\f
\r
\"
\'
\\
下面是同一段代码在windows环境和linux环境运行对比:
源码:
public class Test {
public static void main(String[] args) {
// System.out.println("D:\ProgramFiles");//报错,转义符号要接待转义的字符
System.out.println("D:/ProgramFiles");
System.out.println("D:\\ProgramFiles");// 转义后
System.out.println("D://ProgramFiles");
}
}
结果对比:
对比发现编译后显示是没有区别的,主要区别还是在操作系统对路径符号的使用区别.
建议:
- 考虑的项目的运行环境可能是Linux,也肯能是windows,这里建议大家使用转义的方式来表达路径:
String path ="D:\\ProgramFiles";