java中如何获得当前项目的双src文件夹的路径

java中如何获得当前项目的双src文件夹的路径,第1张

在java中获得文件路径在我们做上传文件 *** 作时是不可避免的。

web 上运行

1:thisgetClass()getClassLoader()getResource("/")getPath();

thisgetClass()getClassLoader()getResource("")getPath(); 得到的是 ClassPath的绝对URI路径。

如:/D:/jboss-422GA/server/default/deploy/hpwar/WEB-INF/classes/

SystemgetProperty("userdir");

thisgetClass()getClassLoader()getResource("")getPath(); 得到的是 项目的绝对路径。

如:/D:/jboss-422GA/server/default/deploy/hpwar

2:thisgetClass()getResource("/")getPath();

thisgetClass()getResource("")getPath(); 得到的是当前类 文件的URI目录。

如:/D:/jboss-422GA/server/default/deploy/hpwar/WEB-INF/classes/com/jebel/helper/

thisgetClass()getResource("")getPath(); X 不 能运行

3:ThreadcurrentThread()getContextClassLoader()getResource("/")getPath()

ThreadcurrentThread()getContextClassLoader()getResource("")getPath() 得到的是 ClassPath的绝对URI路径。

如:/D:/jboss-422GA/server/default/deploy/hpwar/WEB-INF/classes/

ThreadcurrentThread()getContextClassLoader()getResource("")getPath() 得到的是 项目的绝对路径。

如:/D:/jboss-422GA/server/default/deploy/hpwar

在本地运行中

1:thisgetClass()getClassLoader()getResource("")getPath();

thisgetClass()getClassLoader()getResource("")getPath(); 得到的是 ClassPath的绝对URI路径。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

thisgetClass()getClassLoader()getResource("")getPath(); X 不 能运行

2:thisgetClass()getResource("")getPath();

thisgetClass()getResource("")getPath(); 得到的是当前类 文件的URI目录。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/

/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的绝对URI路径。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

3:ThreadcurrentThread()getContextClassLoader()getResource("")getPath()

ThreadcurrentThread()getContextClassLoader()getResource("")getPath() 得到的是 ClassPath的绝对URI路径。。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

ThreadcurrentThread()getContextClassLoader()getResource("/")getPath() X 不 能运行

最后

在Web应用程序中,我们一般通过ServletContextgetRealPath("/")方法得到Web应用程序的根目录的绝对路径。

还有requestgetContextPath(); 在Weblogic中要用requestgetServletContext()getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。

String packageName = AclassgetPackage()getName();

或者:

packageName = new A()getClass()getPackeage()getName();

即可获得包名了。

java 允许我们定位某个 class 的 CodeSource 。

通过 CodeSource 提供的 Location 信息就能够找到相关的文件路径。

假设 aajar 的 main class 是 Test,通过

new Test()getClass()getProtectionDomain()getCodeSource()getLocation();

可以获取到jar包的路径。jar的名称就好办了。截取下上面获取到的路径字符串就行了。

举例:

把配置文件cccxml放到编译路径,如src/comaaaaa下面,然后再根据

String rootPath=XxxxclassgetResource("/")getPath();

获取到编译的根路径,配置文件的地址就是rootPath+"com/aaa/aa/cccxml"

我的war包路径/war/WEB-INF/test/footxt

所以你可以用以下两句话来获取到war包里的文件:

ServletContext context = getContext();

String fullPath = contextgetRealPath("/WEB-INF/test/footxt");

以上就是关于java中如何获得当前项目的双src文件夹的路径全部的内容,包括:java中如何获得当前项目的双src文件夹的路径、java怎么用代码获取类所在的包名、JAVA如何在main()中取得当前jar的名字和路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存