java上传文件获取跟目录的办法

在java中获得文件的路径在我们做上传文件操作时是不可避免的。
web 上运行
1:
this.getClass().getClassLoader().getResource("/").getPath();
this.getClass().getClassLoader().getResource("").getPath();  得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
System.getProperty("user.dir");
this.getClass().getClassLoader().getResource(".").getPath();    得到的是 项目的绝对路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

2:
this.getClass().getResource("/").getPath();
this.getClass().getResource("").getPath(); 得到的是当前类文件的URI目录。不包括自己!
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/
this.getClass().getResource(".").getPath();   X 不 能运行

3:
Thread.currentThread().getContextClassLoader().getResource("/").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath()  得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(".").getPath()  得到的是 项目的绝对路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

在本地运行中
1:
this.getClass().getClassLoader().getResource("").getPath();
this.getClass().getClassLoader().getResource(".").getPath();   得到的是 ClassPath的绝对URI路径。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
this.getClass().getClassLoader().getResource(".").getPath();  X 不 能运行
2:
this.getClass().getResource("").getPath();
this.getClass().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
3:

Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
Thread.currentThread().getContextClassLoader().getResource("/").getPath()    X 不 能运行

最后
    在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。
还有request.getContextPath();  在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiuhaijuanqiang/archive/2011/01/14/6137949.aspx

时间: 2024-10-20 21:30:48

java上传文件获取跟目录的办法的相关文章

PHP上传文件到指定目录(Zend Studio 12.5)

PHP上传文件到固定目录下 2016-4-3   于杭州 [注]本次开发基于Zend Studio 12.5 具体流程: 1.双击打开"Zend Studio" 2.命名为upload1,选择自己的存放路径,以及php版本号,之后点击finish 3.双击打开upload1文件夹 4.右击,选择"New------PHP File" 5.对文件进行重命名为upload.php,之后选择"Next",选择模板.如图所示: 6.将下图红框中选中的内容

安装wps导致 application/kset 上传文件类型报错解决办法

电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [userfile] => Array ( [name] => Template.xls[type] => application/kset[tmp_name] => C:\\Windows\\temp\\phpACC.tmp [error] => 0 [size] => 768

Selenium+java上传文件

自动化调用: AutoIT脚本编译成可执行文件后,放在本地的某一个目录下 上传文件时,首先定位到[上传]字样文本,点击该按钮 执行编辑后的可执行文件,实现文件上传 一.安装AutoIT3,主要用到的工具 AutoIt Windows Info   用于帮助我们识Windows控件信息. Compile Script to.exe 用于将AutoIt生成 exe 执行文件. Run Script            用于执行AutoIt脚本. SciTE Script Editor   用于编写

Java上传文件2

文件上传一直是B/S结构中很重要的一项功能,在Java中并没有很好的实现文件上传的类包,因此出现了一些开源的组件,Smartupload ,commons-fileupload,还有国内的一个"牛人"的(不好意思叫不上名字来),这几个组件中Smartupload 出来的时候应该最早,不过现在已经不再有新的版本出现,还有一个不足的地方就是Smartupload 支持上传的文件最大在100M左右,这可满足不了客户的需求,听说commons-fileupload不错,经过几番测试终于搞定,下

java上传文件到Tomcat之外

通过配置Tomcta的虚拟路径,即将请求映射到实际的物理路径下,实现上传文件的保存地址和服务器的分离.需要配置tomcat的\conf\server.xml文件 tomcat配置完成后,页面中在写上虚拟地址 则可以映射到实际地址取数据了. 原文地址:https://www.cnblogs.com/caotao0918/p/11791025.html

Java上传文件夹(Jersey)

背景介绍:公司要在CMS系统上为运营人员提供一个功能供运营人员将做好的活动页面上传到阿里云存储上,上传的内容为一个文件夹,文件夹内部有.html网页,JS文件夹下有JS文件,CSS文件夹下有样式表,Images文件夹下有多张图片,具体的目录接口如下: 要在网页上将整个文件夹进行上传,下面介绍下我整个实现的过程. 项目架构,前端使用的JSP,后端使用的Jersey,一个类似WebService的技术. 直接上代码,前端JSP文件: <%@ page language="java"

java上传文件常见几种方式

1.ServletFileUpload 表单提交中当提交数据类型是multipare/form-data类型的时候,如果我们用servlet去做处理的话,该http请求就会被servlet容器,包装成httpservletRequest对象 ,在由相应的servlet进行处理.      package com.jws.app.operater.service.impl; import java.io.File; import java.util.HashMap; import java.uti

Java上传文件

Action /* * 后台商品管理的Action */ public class AdminProductAction extends ActionSupport implements ModelDriven<Product> { //模型驱动要使用的对象 private Product product=new Product(); public Product getModel() { return product; } //文件上传需要的参数 private File upload; /

java 上传文件-生成文件首页缩略图 生成pdf 抓取图片

方法:1.文件转换成pdf(采用openoffice或者jacob)   2.抓取pdf首页图 第一步:采用jacob: a.下载jacob  注意区分32位,64位,否则不能用 将dll文件放在java bin目录下即可 jar包引入项目 b.转换pdf package cn.bnsr.edu_yun.util; import java.io.File; import java.io.IOException; import com.jacob.activeX.ActiveXComponent;