一、绝对路径
从磁盘的根目录到对应文件的路径
二、相对路径
相对路径,它以不带“/”的目录名表示,表示以当前Java程序正在运行的目录作为起始目录来寻找给出的目录。如java/classes。在相对路径中,有一些特定的字符,可以代表特的的目录,比如,“.”代表当前目录,“..”代表当前目录的上一级目录。在网上很多给出的例子中,就是利用"."作为目录名,构造File对象的实例,然后通过File对象的方法来获取当前程序运行的目录。
这种方法虽然简单,但有时不能正确的得出当前程序的运行目录。原因在于,运行Java程序不一定要进入到该程序的类文件或JAR文件所在的目录,只要在运行时指定了正确的类路径信息,就可以在任何目录中运行Java程序,此时利用这种方法只能得到发出运行命令时所在的目录信息。
三、类路径
编译后,java文件在.java同路径目录下生成class文件。默认java虚拟机要从classpath环境变量的路径中搜索class文件去执行,对于java虚拟机来说,这不是类文件,而是类。它只有类路径,而没有文件系统路径。而classpath环境变量正是为java虚拟机提供搜索类路径的环境。注意,虚拟机不会递归搜索classpath定义的路径。
四、工作空间下路径
有一些开发工具,如IDEA,会定义自己的工作空间路径,如D:\\wenxuan\work,则访问相应的文件路径时,只需要使用相对工作空间路径的相对路径即可。如访问D:\\wenxuan\work\a\b时,使用相对路径a\b即可,开发工具不同规则不同