java 服务端获取文件路径的一些方法

在上传文件时,会把在war包所在的jboss或者comcat服务器中会生成一个该文件的临时拷贝,并且命名为upload__30fc891_139a068fa26__7ffd_00000005.tmp等形式,这就要考虑到如何把这个临时文件在文件上传后把他删除,有几种获取文件路径的方法,下面分别给出一下:

 

	public static void main(String[] args) throws Exception {
		System.out.println(Thread.currentThread().getContextClassLoader()
				.getResource(""));
		System.out.println(TestPath.class.getClassLoader().getResource(""));
		System.out.println(ClassLoader.getSystemResource(""));
//		System.out.println(TestPath.class.getResource(""));
		System.out.println(TestPath.class.getResource("/")); // Class文件所在路径
		System.out.println(new File("/").getAbsolutePath());
		System.out.println(System.getProperty("user.dir"));
		System.out.println(System.getProperty("user.home"));
		System.out.println( request.getSession().getServletContext().getRealPath(
				“/”);
	}

 

 

		HttpSession session=request.getSession();
		ServletContext application=session.getServletContext();
		String ServerRealPath=application.getRealPath("/");

 这种方式在本地启动应用时,生成的临时文件为:StoreLocation=D:\Program Files\jboss-tee\jboss\server\default\work\jboss.web\localhost\_\upload__17c67ac4_1399f155857__7ffb_00000014.tmp

D:\Program Files\jboss-tee\jboss\server\default\  是我本地jboss服务器的安装地址。

 

在日常下时,临时文件在:

StoreLocation=/home/admin/riskm/.default/work/Catalina/localhost/_/upload__30fc891_139a068fa26__7ffd_00000002.tmp, size=162099bytes, isFormField=false

 

 

在日常下通过上面这种方式获取文件路径的方式得到的是:

/home/admin/riskm/.default/deploy/riskm.war/

也就是war包所在的服务器中的安装目录地址,在本地时运行应用时也是这样。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值