//也许有你想要的,前提是在项目布署运行起来后,在servlet中或controller中运行以下代码即可。
Systemoutprintln(thisgetClass()getResource("/"));//结果:file:/E:/work/service/tomcat7065/webapps/mvc_adminlte/WEB-INF/classes/
Systemoutprintln(SystemgetProperty("catalinahome"));//结果:E:\work\service\tomcat7065
SystemgetProperty("userdir");//结果:E:\work\service\tomcat7065\bin
Systemoutprintln(requestgetSession()getServletContext()getRealPath("/"));//结果:E:\work\service\tomcat7065\webapps\你的项目名称\
希望能帮到你!
在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
获取的是文件的名字。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1] 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等[3] 。
编程环境
JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK[13] 。
另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境[14] 。
JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可[15] 。
编程工具
Eclipse:一个开放源代码的、基于Java的可扩展开发平台[16] 。
NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。
IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。[17]
MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境[18] 。
EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序[19] 。
我觉得如果只是为了得到路径,那491064739的回答其实已经给你思路了,就是传入个File f,然后String s = fgetAbsolutePath();得到绝对路径!不过,似乎你问的是Path后,我的思路是传入两个参数,一个workspace的路径,一个是File f 。伪代码如下:
public String getPathInfo(String workspace,File file) throw Exception{
String path = filegeAbsolute(); //绝对路径
pathreplaceAll("\\\\","/"); //把\ 替换成 /
workspacereplaceAll("\\\\","/");
String info = pathsubString(workspacelength-1); //-1是留下/
//因为是绝对路径,所以文件名最前面的就是workspace,把前面那段去掉就是Path后的了
return info;
}
大致上逻辑就是这样吧
打开文件时要获取文件绝对路径的方法是:FilegetAbsolutePath()获取文件的绝对路径;
Java可以 *** 作OS的进程。在Javalang包中Process的子类具有相关的功能。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
以上就是关于如何通过Java代码获取tomcat服务器的绝对路径全部的内容,包括:如何通过Java代码获取tomcat服务器的绝对路径、java怎么读取同一个工程里面的src目录下的文件、JAVA 用getName()来获取名字, 获取的是文件的绝对路径还是文件的名字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)