我的war包路径/war/WEB-INF/test/footxt
所以你可以用以下两句话来获取到war包里的文件:
ServletContext context = getContext();
String fullPath = contextgetRealPath("/WEB-INF/test/footxt");
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()
import javautilDate;
public class Test {
// 获取包路径
private static String getPackageName(Object obj) {
return objgetClass()getPackage()getName();
}
// 获取类名
private static String getClassName(Object obj) {
return objgetClass()getSimpleName();
}
// 获取类路劲
private static String getClass(Object obj) {
return objgetClass()getName();
}
public static void main(String[] args) {
Date date = new Date();
Systemoutprintln("Package Name = " + getPackageName(date));
Systemoutprintln("Class Name = " + getClassName(date));
Systemoutprintln("Class = " + getClass(date));
}
}
输出:
Package Name = javautil
Class Name = Date
Class = javautilDate
Systemoutprintln(SystemgetProperty("userdir"));
SystemgetProperty("userdir")可以得到当前的项目根路径,你试试看,应该可以的
从这里再推算相对路径,下面可以得到上一级目录的路径
String dir=SystemgetProperty("userdir");
int index=dirlastIndexOf("\\");
dir=dirsubstring(0, index);
Systemoutprintln(dir);
放心,我试过了
你要的路径应该是SystemgetProperty("userdir")+"/com/b"
太巧了吧,我上午才写过这个玩意。你这样String path = new String(resourcetoString()getBytes(),"GBK");
换成你的编码就行了。new File(path);
以上就是关于java如何获取war包中文件路径全部的内容,包括:java如何获取war包中文件路径、java怎么获取上传文件的路径、java类里,怎么得到自己的全路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)