java web怎么获取class类的编译路径

java web怎么获取class类的编译路径,第1张

javaweb中的java文件会在服务器中生成class文件,比如tomcat目录下的webapps目录下,放你的javaweb项目,在项目中有个WEB-INF目录,里面有一个classes文件夹,里面放的都是对源码进行编译后生成的class文件

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()

File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如filegetAbsolutePath()其中file是File的实例对象。

思路就是反射。利用反射你可以使用类或者实例的所有公共成员,前提是知道类的命名空间及名称,详细范例请见以下代码或者msdn。

class MyClass

{

public int myInt = 0;

public string myString = null;

public MyClass()

{

}

public void Myfunction()

{

}

}

class Type_GetMembers

{

public static void Main()

{

try

{

MyClass myObject = new MyClass();

MemberInfo[] myMemberInfo;

// Get the type of 'MyClass'

Type myType = myObjectGetType();

// Get the information related to all public member's of 'MyClass'

myMemberInfo = myTypeGetMembers();

ConsoleWriteLine( "\nThe members of class '{0}' are :\n", myType);

for (int i =0 ; i < myMemberInfoLength ; i++)

{

// Display name and type of the concerned member

ConsoleWriteLine( "'{0}' is a {1}", myMemberInfo[i]Name, myMemberInfo[i]MemberType);

}

}

catch(SecurityException e)

{

ConsoleWriteLine("Exception : " + eMessage );

}

}

}

String packageName = AclassgetPackage()getName();

或者:

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

即可获得包名了。

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()时设定的路径

Java基础知识教程:

以上就是关于java web怎么获取class类的编译路径全部的内容,包括:java web怎么获取class类的编译路径、java怎么获取上传文件的路径、怎样在JAVA文件中获取该项目的相对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存