第一种:
(1)获取当前类的所在工程路径:
File f = new File(this.getClass().getResource("/").getPath());
(2)获取当前类的绝对路径:
File f = new File(this.getClass().getResource("").getPath());
第二种:
获取当前类的所在工程路径:
File directory = new File("");//参数为空
String courseFile = directory.getCanonicalPath() ;
第三种:
获取当前工程src目录下testpath.txt文件的路径:
URL txtpath = this.getClass().getClassLoader().getResource("testpath.txt");
第四种:
获取当前工程路径:
System.out.println(System.getProperty("user.dir"));
第五种:
获取当前工程路径
System.out.println( System.getProperty("java.class.path"));
新建web项目,目录截图如下:
测试代码如下:
package com.yangbin.pathtest;
import java.io.File;
import java.net.URL;
public class TestPath {
public static void main(String[] args) throws Exception{
TestPath test = new TestPath();
test.getPath();
}
public void getPath() throws Exception{
// 1
//(1)获取当前类的所在工程路径:
File file1 = new File(this.getClass().getResource("/").getPath());
System.out.println("1.(1)当前类的所在工程路径:"+ file1);
// (2)获取当前类的绝对路径:
File file2 = new File(this.getClass().getResource("").getPath());
System.out.println("1.(2)当前类的绝对路径::"+ file2);
// 2.获取当前类的所在工程路径:
File directory = new File("");//参数为空
String courseFile = directory.getCanonicalPath() ;
System.out.println("2.当前类的所在工程路径:"+ courseFile);
// 3.获取当前工程src目录下testpath.txt文件的路径:
URL txtpath = this.getClass().getClassLoader().getResource("testpath.txt");
System.out.println("3.当前工程src目录下testpath.txt文件的路径:"+ txtpath);
// 4.获取当前工程路径:
String path = System.getProperty("user.dir");
System.out.println("4.当前工程路径::"+ path);
// 5.获取当前工程路径:
String path2 = System.getProperty("java.class.path");
System.out.println("5.当前工程路径::"+ path2);
}
}
输出结果:
1.(1)当前类的所在工程路径:D:\workspace\pathTest\WebRoot\WEB-INF\classes
1.(2)当前类的绝对路径::D:\workspace\pathTest\WebRoot\WEB-INF\classes\com\yangbin\pathtest
2.当前类的所在工程路径:D:\workspace\pathTest
3.当前工程src目录下testpath.txt文件的路径:file:/D:/workspace/pathTest/WebRoot/WEB-INF/classes/testpath.txt
4.当前工程路径::D:\workspace\pathTest
5.当前工程路径::D:\workspace\pathTest\WebRoot\WEB-INF\classes