获取服务器的绝对路径(获取文件的相对路径)
- 服务器
- 2022-12-19 13:00:13
- 12
本篇文章给大家谈谈获取服务器的绝对路径,以及获取文件的相对路径对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、服务器的文件路径地址怎么获取
- 2、如何获取文件的绝对路径
- 3、java 文件在服务器中定位绝对路径
- 4、怎么在服务器的java文件中得到服务器的绝对路径
- 5、J2EE web项目,绝对路径和相对路径如何设置与获取?
- 6、如何通过Java代码获取tomcat服务器的绝对路径
服务器的文件路径地址怎么获取
绝对路径:
绝对路径是指目录下的绝对位置,直接到的目标位置。 就是你的主页上的文件或目录在硬盘上真正的路径。
直接登录服务器就可以看到绝对路径文件,打开就可以了。
如何获取文件的绝对路径
参考例子如下,相关注释已经在代码中写明;
#region 文件上传
/// summary
/// 上传文件(自动分割)
/// /summary
/// param name="filePath"待上传的文件全路径名称(@"E:\FTP\ftproot\20070228DQCK.zip")/param
/// param name="hostURL"服务器的地址/param
/// param name="byteCount"分割的字节大小/param
/// param name="userID"主机用户ID/param
/// param name="cruuent"当前字节指针/param
/// returns成功返回"";失败则返回错误信息/returns
public string UpLoadFile(string filePath, string hostURL, int byteCount, string userID, long cruuent)
{
string tmpURL = hostURL;
byteCount = byteCount * 1024;
System.Net.WebClient WebClientObj = new System.Net.WebClient();
FileStream fStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader bReader = new BinaryReader(fStream);
long length = fStream.Length;
string sMsg = "版式上传成功";
string fileName = filePath.Substring(filePath.LastIndexOf('\\') + 1);
try
{
#region 续传处理
byte[] data;
if (cruuent 0)
{
fStream.Seek(cruuent, SeekOrigin.Current);
}
#endregion
#region 分割文件上传
for (;cruuent = length; cruuent = cruuent + byteCount)
{
if (cruuent + byteCount length)
{
data = new byte[Convert.ToInt64((length - cruuent))];
bReader.Read(data, 0, Convert.ToInt32((length - cruuent)));
}
else
{
data = new byte[byteCount];
bReader.Read(data, 0, byteCount);
}
try
{
hostURL = tmpURL + "action=upload" + "filename=" + fileName + "userid=" + userID + "npos=" + cruuent.ToString();
//hostURL = tmpURL + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt";
byte[] byRemoteInfo = WebClientObj.UploadData(hostURL, "POST", data);
string sRemoteInfo = System.Text.Encoding.Default.GetString(byRemoteInfo);
// 获取返回信息
if (sRemoteInfo.Trim() != "")
{
sMsg = sRemoteInfo;
break;
}
}
catch (Exception ex)
{
sMsg = ex.ToString();
break;
}
}
#endregion
}
catch (Exception ex)
{
sMsg = sMsg + ex.ToString();
}
try
{
bReader.Close();
fStream.Close();
}
catch (Exception exMsg)
{
sMsg = exMsg.ToString();
}
GC.Collect();
return sMsg;
}
#endregion
java 文件在服务器中定位绝对路径
在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。
另:在Jsp,Servlet,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()
结果:
(3)得到相对地址:request.getRequestURI()
结果:/TEST/test
怎么在服务器的java文件中得到服务器的绝对路径
得到服务器的绝对路径是要看不同的JAVA容器的,,,而得到当前部署的绝对路径,是可以使用
String strAbsPath=application.getRealPath(request.getRequestURI());
也可以使用 Class.getResource("/")得到部署的根路径的URL
J2EE web项目,绝对路径和相对路径如何设置与获取?
在开发Web方面的应用时, 经常需要获取服务器中当前WebRoot的物理路径。
如果是Servlet , Action , Controller, 或者Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext, 然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地址。
如果在类中取不到ServletContext时,有两种方式可以做到:
(1)利用Java的类加载机制:调用 XXX.class.getClassLoader().getResource(""); 方法来获取到ClassPath , 然后处理获得WebRoot目录。这种方式只能是该class在WebRoot/WEB-INF/classes下才能生效, 如果该class被打包到一个jar文件中, 则该方法失效。这时就应该用下面一种方式。
(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的物理路径。
如何通过Java代码获取tomcat服务器的绝对路径
//也许有你想要的,前提是在项目布署运行起来后,在servlet中或controller中运行以下代码即可。
System.out.println(this.getClass().getResource("/"));//结果:file:/E:/work/service/tomcat7.0.65/webapps/mvc_adminlte/WEB-INF/classes/
System.out.println(System.getProperty("catalina.home"));//结果:E:\work\service\tomcat7.0.65
System.getProperty("user.dir");//结果:E:\work\service\tomcat7.0.65\bin
System.out.println(request.getSession().getServletContext().getRealPath("/"));//结果:E:\work\service\tomcat7.0.65\webapps\你的项目名称\
希望能帮到你!
获取服务器的绝对路径的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于获取文件的相对路径、获取服务器的绝对路径的信息别忘了在本站进行查找喔。
本文由admin于2022-12-19发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:http://www.qnphp.com/post/82995.html