在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这里建议使用java.io.File.separator 来处理路径符号.在Linux下获取得到的是/,而在window下获得的是/.