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文件中获取该项目的相对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)