java获取服务器路径?java怎样获取当前目录路径
大家好,关于java获取服务器路径很多朋友都还不太明白,今天小编就来为大家分享关于java怎样获取当前目录路径的知识,希望对各位有所帮助!
Java获取当前路径的几种方法
1、利用System.getProperty()函数获取当前路径:
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory= new File("");//设定为当前文件夹
try{
System.out.println(directory.getCanonicalPath());//获取标准的路径
System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){}
File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。
#对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹
#对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径
#至于getPath()函数,得到的只是你在new File()时设定的路径
比如当前的路径为 C:/test:
File directory= new File("abc");
directory.getCanonicalPath();//得到的是C:/test/abc
directory.getAbsolutePath();//得到的是C:/test/abc
direcotry.getPath();//得到的是abc
File directory= new File(".");
directory.getCanonicalPath();//得到的是C:/test
directory.getAbsolutePath();//得到的是C:/test/.
direcotry.getPath();//得到的是.
File directory= new File("..");
directory.getCanonicalPath();//得到的是C:/
directory.getAbsolutePath();//得到的是C:/test/..
direcotry.getPath();//得到的是..
另外:System.getProperty()中的字符串参数如下:
System.getProperty()参数大全
# java.version Java Runtime Environment version
# java.vendor Java Runtime Environment vendor
# java.vendor.url Java vendor URL
# java.home Java installation directory
# java.vm.specification.version Java Virtual Machine specification version
# java.vm.specification.vendor Java Virtual Machine specification vendor
# java.vm.specification.name Java Virtual Machine specification name
# java.vm.version Java Virtual Machine implementation version
# java.vm.vendor Java Virtual Machine implementation vendor
# java.vm.name Java Virtual Machine implementation name
# java.specification.version Java Runtime Environment specification version
# java.specification.vendor Java Runtime Environment specification vendor
# java.specification.name Java Runtime Environment specification name
# java.class.version Java class format version number
# java.class.path Java class path
# java.library.path List of paths to search when loading libraries
# java.io.tmpdir Default temp file path
# java.compiler Name of JIT compiler to use
# java.ext.dirs Path of extension directory or directories
# os.name Operating system name
# os.arch Operating system architecture
# os.version Operating system version
# file.separator File separator("/" on UNIX)
# path.separator Path separator(":" on UNIX)
# line.separator Line separator("/n" on UNIX)
# user.name User’s account name
# user.home User’s home directory
# user.dir User’s current working directory
JAVA中获取路径:
1.jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:request.getRequestURI()
结果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
结果:/TEST
(3)得到当前页面所在目录下全名称:request.getServletPath()
结果:如果页面在jsp目录下/TEST/jsp/test.jsp
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
结果:D:/resin/webapps/TEST/test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:/resin/webapps/TEST
2.在类中取得路径:
(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:System.getProperty("user.dir")
结果:D:/TEST
3.在Servlet中取得路径:
(1)得到工程目录:request.getSession().getServletContext().getRealPath("")参数可具体到包名。
结果:E:/Tomcat/webapps/TEST
(2)得到IE地址栏地址:request.getRequestURL()
结果:http://localhost:8080/TEST/test
(3)得到相对地址:request.getRequestURI()
结果:/TEST/test
java怎样获取当前目录路径
很多朋友都想知道java如何获取当前目录路径?下面就一起来了解一下吧~
1、利用System.getProperty()函数获取当前路径:
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹 try{ System.out.println(directory.getCanonicalPath());//获取标准的路径 System.out.println(directory.getAbsolutePath());//获取绝对路径}catch(Exceptin e){} File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径# 至于getPath()函数,得到的只是你在new File()时设定的路径比如当前的路径为 C:/test : File directory = new File("abc"); directory.getCanonicalPath(); //得到的是C:/test/abc directory.getAbsolutePath(); //得到的是C:/test/abc direcotry.getPath(); //得到的是abc File directory = new File("."); directory.getCanonicalPath(); //得到的是C:/test directory.getAbsolutePath(); //得到的是C:/test/. direcotry.getPath(); //得到的是. File directory = new File(".."); directory.getCanonicalPath(); //得到的是C:/ directory.getAbsolutePath(); //得到的是C:/test/.. direcotry.getPath(); //得到的是..另外:System.getProperty()中的字符串参数如下: System.getProperty()参数大全# java.version Java Runtime Environment version# java.vendor Java Runtime Environment vendor# java.vendor.url Java vendor URL# java.home Java installation directory# java.vm.specification.version Java Virtual Machine specification version# java.vm.specification.vendor Java Virtual Machine specification vendor# java.vm.specification.name Java Virtual Machine specification name# java.vm.version Java Virtual Machine implementation version# java.vm.vendor Java Virtual Machine implementation vendor# java.vm.name Java Virtual Machine implementation name# java.specification.version Java Runtime Environment specification version# java.specification.vendor Java Runtime Environment specification vendor# java.specification.name Java Runtime Environment specification name# java.class.version Java class format version number# java.class.path Java class path# java.library.path List of paths to search when loading libraries# java.io.tmpdir Default temp file path# java.compiler Name of JIT compiler to use# java.ext.dirs Path of extension directory or directories# os.name Operating system name# os.arch Operating system architecture# os.version Operating system version# file.separator File separator ("/" on UNIX)# path.separator Path separator (":" on UNIX)# line.separator Line separator ("/n" on UNIX)# user.name User’s account name# user.home User’s home directory# user.dir User’s current working directory
JAVA中获取路径 关键字: java中获取路径
1、jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TEST/test.jsp(2)得到工程名:request.getContextPath()结果:/TEST(3)得到当前页面所在目录下全名称:request.getServletPath()结果:如果页面在jsp目录下 /TEST/jsp/test.jsp(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")结果:D:/resin/webapps/TEST/test.jsp(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();结果:D:/resin/webapps/TEST
2、在类中取得路径:(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/(2)得到工程的路径:System.getProperty("user.dir")结果:D:/TEST
java 怎么获取服务器webroot的路径
使用JAVA后台代码取得WEBROOT物理路径,可以有如下两种方式:
1、使用JSP Servlet取得WEB根路径可以用request.getContextPath(),相对路径request.getSession().getServletContext().getRealPath("/"),它们可以使用我们很容易取得根路径。
2、如果使用了spring,在WEB-INF/web.xml中,创建一个webAppRootKey的param,指定一个值(默认为webapp.root)作为键值,然后通过Listener,或者Filter,或者Servlet执行String webAppRootKey= getServletContext().getRealPath("/");并将webAppRootKey对应的webapp.root分别作为Key,Value写到System Properties系统属性中。之后在程序中通过System.getProperty("webapp.root")来获得WebRoot的物理路径。
具体示例代码如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>csc2.root</param-value>
</context-param>
<listener>
<listener-class>test.ApplicationListener</listener-class>
</listener>
</web-app>
ApplicationListener.java
package test;
import javax.servlet.ServletContextEvent;
import org.springframework.web.context.ContextLoaderListener;
public class ApplicationListener extends ContextLoaderListener{
public void contextDestroyed(ServletContextEvent sce){
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent sce){
// TODO Auto-generated method stub
String webAppRootKey= sce.getServletContext().getRealPath("/");
System.setProperty("csc2.root", webAppRootKey);
String path=System.getProperty("csc2.root");
System.out.println("sssss:::"+path);
}
}
test.java
public class test{
public void remve(){
String path=System.getProperty("csc2.root");
System.out.println("result::::::::"+path);
}
}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="test.test"%>
<%
String path= request.getContextPath();
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
test t= new test();
t.remve();
%>
<html>
</html>
部署程序发布启动TOMCAT运行index.jsp就可以调用JAVA中全局设置的物理路径了(说明这里的JSP只是调用了TEST.JAVA的remove方法,不做其他使用。原理解释,TOMCAT启动和读取WEB.XML监听方式加载SPRING ApplicationListener继承SPRING ContextLoaderListener加载SPRING顺便吧全局路径赋值给csc2.root描述,这样之后JAVA代码中就可以使用System.getProperty("csc2.root")调用全路路径了。
非常感谢您的阅读!我们希望本文对于解决您关于java获取服务器路径的问题提供了一些有价值的信息。如果您还有其他疑问,我们将很乐意为您提供进一步的帮助。