java文件路径获取方式

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(""):获取当前文件所在的绝对路径目录,不加"/",代表从当前包下找路径。

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()返回抽象路径名的规范绝对路径名字符串

你可能感兴趣的:(getresource,文件路径获取)