以前对java应用的文件路径一知半解,终于想彻底理解他,所以在此记录下java应用获取文件路径的常用方法:
- Test.class.getResource(“”):获取Test.class文件上级目录的绝对uri路径。
- Test.class.getResource(“/”):获取classpath的绝对uri路径。
- Test.class.getClassLoader().getResource(“”):获取classpath的绝对uri路径。
- Thread.currentThread().getContextClassLoader().getResource(“”):获取classpath的绝对uri路径。
测试代码如下:
System.out.println(Test.class.getResource(""));
System.out.println(Test.class.getResource("/"));
System.out.println(Test.class.getClassLoader().getResource(""));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
测试结果:
file:/D:/IntellijWorkspace/testdb/target/classes/test/
file:/D:/IntellijWorkspace/testdb/target/classes/
file:/D:/IntellijWorkspace/testdb/target/classes/
file:/D:/IntellijWorkspace/testdb/target/classes/