在上传文件到服务器上时,上传到服务器的文件不能在指定目录下获取,主要是在java代码中设置的文件路径问题。
一. 获取本地路径的几种方式
1.项目目录下建立excel文件夹存入上传文件
得到当前的classpath的绝对路径的URI表示法。
String serverPath=Thread.currentThread().getContextClassLoader().getResource("").toString();
serverPath=serverPath.replace('/', '\\');
serverPath=serverPath.replace("file:", "");
serverPath=serverPath.replace("classes\\", "");
serverPath=serverPath.replace("target\\", "");
serverPath+= "excel" + File.separator+"统计.xlsx";
2.获得用户的根目录
默认定位到的当前用户目录("user.dir")(即工程根目录)
JVM就可以据"user.dir" + "你自己设置的目录" 得到完整的路径(即绝对路径)
但是工程必须不是web项目,不然,这个返回值就不是项目的根目录啦,而是tomcat的bin目录。
String serverPath=System.getProperty("user.dir");
serverPath+= "/excel/"+"工时明细表.xlsx";
二.获取服务器路径
String serverPath = request.getServletContext().getRealPath("/excel/");
serverPath+="统计.xlsx";