java怎么获取上传文件的路径

java怎么获取上传文件的路径,第1张

java文件中获得路径

ThreadcurrentThread()getContextClassLoader()getResource("") //获得资源文件(class文件)所在路径

ClassLoadergetSystemResource("")

Class_NameclassgetClassLoader()getResource("")

Class_Nameclass getResource("/")

Class_Nameclass getResource("") // 获得当前类所在路径

SystemgetProperty("userdir") // 获得项目根目录的绝对路径

SystemgetProperty("javaclasspath") //得到类路径和包路径

打印输出依次如下:

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/

F:\work_litao\uri_test

F:\work_litao\uri_test\WebContent\WEB-INF\classes;F:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4jjar

2、 JSP中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:requestgetRequestURI()

文件的绝对路径:applicationgetRealPath(requestgetRequestURI());

当前web应用的绝对路径 :applicationgetRealPath("/");

取得请求文件的上层目录:new File(applicationgetRealPath(requestgetRequestURI()))getParent()

java获取src目录下文件夹的相对路径问题如下:

目录结构:

project

out

src

readjava

testtxt

files

opts

项目为priject

out目录为class输出目录

src下为文件目录

src下有两个包,files、opts

想通过相对路径获取testtxt的路径

但是用反射只能获取到class,也就是out里的路径

输出后的目录不就是在out里面了,那个里面的和src里面的文件是一样的, getClass()getResource()就可以得到classpath了啊

看看设置的资源文件编译路径

找URL

关于绝对路径和相对路径:

绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz esttxt 代表了testtxt文件的绝对路径。>

Class类中的方法:

1、URL getResource(String name)

查找带有给定名称的资源

如果在eclipse中编写并运行

参数name为"",""时

file:/D:/JAVA%20IDE/eclipse32/work/MyTest/bin/com/hss/load/

为"/"时

file:/C:/Program%20Files/Java/jre160_04/lib/ext/classes/

2、InputStream getResourceAsStream(String name)

查找具有给定名称的资源

与1类似,只是形式不同

非常奇怪的是如果不用IDE,而只将文件放于硬盘的一处,得到的结果只是(无论是","")

file:/C:/Program%20Files/Java/jre160_04/lib/ext/classes/

ClassLoader类中的方法

1、URL getResource(String name)

查找具有给定名称的资源。

参数name为"",""时

ur1:file:/C:/Program%20Files/Java/jre160_04/lib/ext/classes/

须注意的是该classloader是系统类加载器,其他加载器也一样

2、InputStream getResourceAsStream(String name)

返回读取指定资源的输入流。

3、Enumeration<URL> getResources(String name)

查找所有给定名称的资源。

4、static URL getSystemResource(String name)

从用来加载类的搜索路径中查找具有指定名称的资源。

name只能是"",或者"",否则得到的是null

输出结果是 file:/C:/Program%20Files/Java/jre160_04/lib/ext/classes/

5、static InputStream getSystemResourceAsStream(String name)

从用来加载类的搜索路径打开具有指定名称的资源,以读取该资源。

以4相似,只是返回的是InputStream

6、static Enumeration<URL> getSystemResources(String name)

从用来加载类的搜索路径中查找所有具有指定名称的资源。

name只能是"",或者"",否则得到的是null

输出结果是 file:/C:/Program%20Files/Java/jre160_04/lib/ext/classes/,

file:/D:/JAVA%20IDE/eclipse32/work/MyTest/bin/(测试类的class文件位于此目录)

总结:一般使用Class的getResource("/")获取当前类路径(包所在的顶层目录),使用getResource("")获取当前类的具体存放路径(具体到包目录的最底层如comhssservletMyServlet时,获取的路径将是com/hss/servlet)

以上就是关于java怎么获取上传文件的路径全部的内容,包括:java怎么获取上传文件的路径、java项目根目录和类路径问题、java html file 获得file文件本地路径 要简单点的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9590732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存