
1、利用SystemgetProperty()函数获取当前路径:
Systemoutprintln(SystemgetProperty("userdir"));//userdir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹
try{
Systemoutprintln(directorygetCanonicalPath());//获取标准的路径
Systemoutprintln(directorygetAbsolutePath());//获取绝对路径
}catch(Exceptin e){}
FilegetCanonicalPath()和FilegetAbsolutePath()大约只是对于new File("")和new File("")两种路径有所区别。
# 对于getCanonicalPath()函数,“"就表示当前的文件夹,而”“则表示当前文件夹的上一级文件夹
# 对于getAbsolutePath()函数,则不管””、“”,返回当前的路径加上你在new File()时设定的路径
# 至于getPath()函数,得到的只是你在new File()时设定的路径
比如当前的路径为 C:/test :
File directory = new File("abc");
directorygetCanonicalPath(); //得到的是C:/test/abc
directorygetAbsolutePath(); //得到的是C:/test/abc
direcotrygetPath(); //得到的是abc
File directory = new File("");
directorygetCanonicalPath(); //得到的是C:/test
directorygetAbsolutePath(); //得到的是C:/test/
direcotrygetPath(); //得到的是
File directory = new File("");
directorygetCanonicalPath(); //得到的是C:/
directorygetAbsolutePath(); //得到的是C:/test/
direcotrygetPath(); //得到的是
另外:SystemgetProperty()中的字符串参数如下:
SystemgetProperty()参数大全
# javaversion Java Runtime Environment version
# javavendor Java Runtime Environment vendor
# javavendorurl Java vendor URL
# javahome Java installation directory
# javavmspecificationversion Java Virtual Machine specification version
# javavmspecificationvendor Java Virtual Machine specification vendor
# javavmspecificationname Java Virtual Machine specification name
# javavmversion Java Virtual Machine implementation version
# javavmvendor Java Virtual Machine implementation vendor
# javavmname Java Virtual Machine implementation name
# javaspecificationversion Java Runtime Environment specification version
# javaspecificationvendor Java Runtime Environment specification vendor
# javaspecificationname Java Runtime Environment specification name
# javaclassversion Java class format version number
# javaclasspath Java class path
# javalibrarypath List of paths to search when loading libraries
# javaiotmpdir Default temp file path
# javacompiler Name of JIT compiler to use
# javaextdirs Path of extension directory or directories
# osname Operating system name
# osarch Operating system architecture
# osversion Operating system version
# fileseparator File separator ("/" on UNIX)
# pathseparator Path separator (":" on UNIX)
# lineseparator Line separator ("/n" on UNIX)
# username User’s account name
# userhome User’s home directory
# userdir User’s current working directory
JAVA中获取路径:
1jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:requestgetRequestURI()
结果:/TEST/testjsp
(2)得到工程名:requestgetContextPath()
结果:/TEST
(3)得到当前页面所在目录下全名称:requestgetServletPath()
结果:如果页面在jsp目录下 /TEST/jsp/testjsp
(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")
结果:D:/resin/webapps/TEST/testjsp
(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();
结果:D:/resin/webapps/TEST
2在类中取得路径:
(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:SystemgetProperty("userdir")
结果:D:/TEST
3在Servlet中取得路径:
(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。
结果:E:/Tomcat/webapps/TEST
(2)得到IE地址栏地址:requestgetRequestURL()
结果:>
网页链接
getFile文件上传
Controller提供了getFile系列方法支持文件上传。
特别注意:如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),那么必须先调用getFile系列方法才能使getPara系列方法正常工作,因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。同样的道理在Interceptor、Validator中也需要先调用getFile。
文件默认上传至项目根路径下的upload子路径之下,该路径称为文件上传基础路径。可以在 JFinalConfigconfigConstant(Constants me)方法中通过mesetBaseUploadPath(baseUploadPath) 设置文件上传基础路径,该路径参数接受以”/”打头或者以windows磁盘盘符打头的绝对路径,即可将基础路径指向项目根径之外,方便单机多实例部署。当该路径参数设置为相对路径时,则是以项目根为基础的相对路径。
上面是注意事项,
代码:
UploadFile uf = getFile();File f = ufgetFile();
String path = fgetPath();
//或者 String path = ufgetUploadPath() + Fileseparator + ufgetFileName();
一、Servlet实现文件上传,需要添加第三方提供的jar包
下载地址:
1) commons-fileupload-122-binzip: 点击打开链接
2) commons-io-23-binzip: 点击打开链接
接着把这两个jar包放到 lib文件夹下:
二:文件上传的表单提交方式必须是POST方式,
编码类型:enctype="multipart/form-data",默认是 application/x- >
以上就是关于Java获取当前路径的几种方法全部的内容,包括:Java获取当前路径的几种方法、如何通过全路径获取 realpath、jfinal整合hdfs文件上传时如何获取真实路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)