java路径获取
前言:
1、path:配置一些java命令等所在的位置,使得我们可以直接使用这个命令
classPath:配置class所在的位置。比如我们要经常iMport 那么就会从这个目录里去寻找。配置一般是 ./xxx/tool.jsr;/xxx/dt.jar 第一个是当前路径,比如你自己写的文件,tools是一些工具类所在,dt.jar是运行环境所需要的类库。一般maven工程的classPaths是target目录,而java工程的classPath是工程下的bin目录,其实就是放class文件的位置。
一、以文件开头的获取路径 class.getResource
String path1 = TestPath.class.getResource("").toString();//不要用
String path11 = TestPath.class.getResource("").getPath();//获取所在目录,也是classPath里的不包含自己,就是到最靠近的那一层包名。
String path111 = TestPath.class.getResource("/test").getPath();//直接写目录名,它可以从/+后面的目录名。也就是classPath/xxx/ 这个目录可以是你自己写的、
String path2 = TestPath.class.getResource("/").getPath();//获得classpath的绝对位置。不深入底层的包名。
String path3 = TestPath.class.getClassLoader().toString();//不要用
String path4 = TestPath.class.getClassLoader().getResource("").getPath();//也是classPath绝对路径
String path5 = TestPath.class.getClassLoader().getSystemResource("").getPath();//也是classPath绝对
InputStream path6 = TestPath.class.getResourceAsStream("");//是获取到字符流
String path7 = System.getProperty("user.dir");//获取到工程的根目录,只到工程名。工作目录。
String path8 = System.getProperty("user.home");//获取用户的目录
三、还有servlet和java获取路径的方法,待补充。
四、或许maven文件resource下的文件用法:
this.getclass().getclassLoader().getResource("xxh/xxx.txt").getpath() 记住这个是从classloafer也就是根目录下去取文件,后面的resource千万别加/ 直接从文件夹名字开始写 往下写就行的。