Java获取相对路径问题System.getProperty("user.dir");

发布时间:2019-08-11 05:49:45

最近碰到一个让我头疼的问题。是这样的我在上传文件的时候需要把文件传到WebContent底下的upload文件夹。我的后台接收的类放在了src/UploadResource底下。
我想用相对路径把文件传到upload文件夹下面。现在问题来了。我该怎样得到路径项目名/WebContent/upload这个相对路径呢。
我试了一下:
System.getProperty("user.dir");
这是我的测试函数:import java.util.Date;

import .kmproject.downloadresource.model.Model;
import .kmproject.downloadresource.po.Book;
public class Test {
public static void main(String[] args) {
String path=System.getProperty("user.dir");
path=path+"\\WebContent\\upload\\";
System.out.println(path);
}
}
结果是:
D:\JAVA\Hellios\IDENewWorkSpace\KmProject\WebContent\upload\
其实这就是我要的答案,但是。这是右击此程序选择run as application的结果。假如我把这句话:
String path=System.getProperty("user.dir");
path=path+"\\WebContent\\upload\\";
放到后台的类里面后结果竟然变成了:
D:\JAVA\Hellios\eclipse-jee-helios-win32\eclipse\WebContent\upload\
(D:\JAVA\Hellios\eclipse-jee-helios-win32\是我Eclipse的安装路径)

也就是说我在run as application 的时候得到的是项目所在的路径,也是我要的。但是在run as server 的时候的变成了eclipse的安装路径了。
我想在运行的是后也得到项目的路径D:\JAVA\Hellios\IDENewWorkSpace\KmProject\WebContent\upload\
各位大侠,有知道如何去做的吗?

推荐回答

还没有选出推荐答案,请稍候访问或查看其他回答!
以上问题属网友观点,不代表本站立场,仅供参考!