1.获取当前项目路径
String address1 = System.getProperty("user.dir");
System.out.println(address1);
//输出结果为:F:\javaRuning\workspace\superclub,superclub为项目名
2.获取当前项目中所有存放编译后的文件的路径,包括jar包。
String address2 = System.getProperty("java.class.path");
System.out.println(address2);
//输出结果为:F:\javaRuning\workspace\superclub\target\classes;
//F:\javaRuning\tomcat\apache-tomcat-7.0.59\lib\annotations-api.jar;...
3.获取当前类所在的工程路径(一半都在classes文件夹下)
//加“/”,只获取到classes目录
String address3 = UserService.class.getResource("/").getPath();
System.out.println(address3);
//输出结果为:/F:/javaRuning/workspace/superclub/target/classes/
//不加“/”可获取到当前类所在的文件夹
String address4 = UserService.class.getResource("").getPath();
System.out.println(address4);
//输出结果为:/F:/javaRuning/workspace/superclub/target/classes/com/danger/superclub/service/
class.getResource(""):获取当前文件所在的绝对路径目录,不加"/",代表从当前包下找路径。
class.getResource("/"):获取当前项目下classes文件夹所在的路径,加了"/"代表从classes目录下找路径。
class.getResource(String fileName):获取classes目录下fileName文件所在的路径
class.getResource(String filePath):获取classes目录下filePath路径所指向的全路径
class.getClassLoader.getResource(String path):从classes目录下查找路径,不能以“/”开头
class.getResourceAsStream()的用法和class.getResource()的用法相同。
只是getResourceAsStream获取的是输入流InputStream。getResource获取的是URL对象。
file.getPath():将抽象路径名转换为一个路径字符串。
4.通过file.getCanonicalPath获取当前项目路径名
File directory = new File("");//参数为空
String courseFile = null;
try {
courseFile = directory.getCanonicalPath();
System.out.println(courseFile);
} catch (IOException e) {
e.printStackTrace();
}
file.getCanonicalPath()返回抽象路径名的规范绝对路径名字符串