java 项目的路径详情
title: 项目下的路径问题
tags:
grammar_cjkRuby: true
---
在javaee的项目中,存取文件,解析xml和properties文件,以及项目中的文件,都需要获取路径,常用的一些路径收集如下:
一、src文件夹下的文件,编译后 的classes文件夹
1.直接获取src文件夹下的文件的方法如下:(同样路径可以是“com/huawei/db.properties”)
InputStream is = DemoFilePath.class.getClassLoader().getResourceAsStream("db.properties");
其中的DemoFilePath为类名,而且只能实用类名,不能实用Object。获取src文件下的文件的输入流都可以通过这个方法来获取
还有一种方法和原理是一样的,可以实用类名或者Object超类也是通过类加载器来获取只是前面需要增加-- “/” --这个符号如下:(同样路径可以是"/com/huawei/test.txt")
InputStream is=Object.class.getResourceAsStream("/test.txt");//保险的做法还是把Object换成类本身的名字
InputStream is = getClass().getResourceAsStream("/db2.properties");//但是这个方法不能子啊静态类中使用
2.获取classpath的路径,就是src编译后了classes文件夹的路径
DemoFilePath.class.getClassLoader().getResource("com/renboqieqie/db4.properties").getPath()
//或者
Thread.currentThread().getContextClassLoader().getResource("").getPath()
二、WebConten文件夹下
1.在jsp中获取
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>1.JSP</title>
</head>
<body>
<h1>获取文件的绝对路径</h1>
<h2>application.getRealPath(file)</h2>
<%=application.getRealPath("contact.xml") %><br/>
<%=application.getRealPath("db.properties") %><br/>
<%=application.getRealPath("index.html") %><br/>
<hr/>
<h1>获取文件的绝对路径</h1>
<h2>request.getRequestURI()</h2>
<%=request.getRequestURI() %>
<hr/>
<h1>获取当前jsp页面的路径</h1>
<h2>request.getContextPath()</h2>
<%=request.getContextPath() %>
<hr/>
<h1>获取当前项目的路径</h1>
<h2>request.getServletPath()</h2>
<%=request.getServletPath() %>
<hr/>
</body>
</html>


以下是摘抄的原文
一、用Jsp获取
1、获取文件的绝对路径
String file="文件";(例如:data.mdb)
String path=application.getRealPath(file);
结果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\文件
2、获取文件的绝对路径
String p2=request.getRequestURI();
结果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\文件
3、获取当前jsp页面的路径
String p3=request.getContextPath();
结果:
/myWebsite/index.jsp
4、获取当前项目的路径
String p4=request.getServletPath();
结果:
/myWebsite
二、用Java类获取
1、获取Eclipse路径
String a1=System.getProperty("user.dir");
结果:
D:\StudySystem\JavaWeb\3-eclipse-jee-indigo-win32\eclipse
2、获取当前的classpath路径
String a2=类名.class.getResource("").toString();
String a3=DBConnection.class.getResource("/").toString();
String a4=DBConnection.class.getClassLoader().getResource("").toString();
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
打印出来分别是:
file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
3、获取文件的绝对路径
如果要获取WebContent目录下的文件绝对路径怎么办?可以用下面的方法
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
int num=t.indexOf(".metadata");
String path=t.substring(1,num).replace('/', '\')+"项目名\WebContent\文件";
结果是:
E:\java_web\workspace\项目名\WebContent\文件
三、用servlet获取
1、获取项目的绝对路径
request.getSession().getServletContext().getRealPath("")
结果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite
2、获取浏览器地址
request.getRequestURL()
结果:
http://localhost:8080/myWebsite/QuestionServlet
3、获取当前文件的绝对路径
request.getSession().getServletContext().getRealPath(request.getRequestURI())
结果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\myWebsite\QuestionServlet
java 项目的路径详情的更多相关文章
- java项目获取路径的几种方式
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...
- java项目相对路径
./的含义: eclipse相对路径是相对项目的src目录来说的,而不是相对于当前文件. "./某某文件.txt" 而idea则相对于项目根目录 "./src/某某文件. ...
- java项目 相对路径(本项目的地址)
File file=new File(""); String abspath=file.getAbsolutePath(); System.out.println(abspath) ...
- java读取项目根路径下和任意磁盘位置下的properties文件
1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...
- 对Java Web项目中路径的理解
第一个:文件分隔符 坑比Window.window分隔符 用\;unix采用/.于是用File.separator来跨平台 请注意:这是文件路径.在File f = new File(“c:\\hah ...
- java 项目得到jar和classes路径
java 项目得到jar和classes路径 public static String getJarPath(Class clazz) { String path = clazz.getProtect ...
- java项目获取根路径(web项目和application项目的区分)
Java项目中经常要读取配置文件,涉及到读取配置文件的地方,就会要读定位文件的路径.因此,在项目如何正确获取文件路径尤为关键. 根据不同的java项目,在获取文件路径时候有一些 小区别 测试环境:E: ...
- java项目中的路径获取,request
java web项目中获取项目根路径(tomcat可运行的web源码的路径)的方式: 分为两种情况: 情况一: 在eclipse.inde等开发工具中获取(注:如下代码所在的类必须是控制层所在包下的类 ...
- Java项目中读取properties文件,以及六种获取路径的方法
下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...
随机推荐
- Xeon Phi 《协处理器高性能编程指南》随书代码整理 part 3
▶ 第二章,几个简单的程序 ● 代码,单线程 #include <stdio.h> #include <stdlib.h> #include <string.h> ...
- Creating adaptive web recommendation system based on user behavior(设计基于用户行为数据的适应性网络推荐系统)
文章介绍了一个基于用户行为数据的推荐系统的实现步骤和方法.系统的核心是专家系统,它会根据一定的策略计算所有物品的相关度,并且将相关度最高的物品序列推送给用户.计算相关度的策略分为两部分,第一部分是针对 ...
- python class的创建
def f(): class a(): a=5 def f2(): pass Disassembly of f: 14 0 LOAD_CONST 1 ('a') 3 LOAD_CONST 3 (()) ...
- Zabbix Agent 源码编译安装
简介: 单独整理一下 Zabbix Agent . 1.安装包选择 下载地址:http://www.zabbix.com/download.php 这里有两种源码包,一种是安装 Zabbix Serv ...
- 剑指offer例题——反转链表
题目描述 输入一个链表,反转链表,输出新链表的表头 程序编写 将链表反转 public class Solution { public ListNode ReverseList(ListNode he ...
- Linux网络编程学习(一) ----- 概论和Linux模型(第一章第二章)
1.什么是计算机网络,通信方式是什么? 计算机网络就是通过通信线路相互连接的计算机的集合,主要通过双绞线.同轴电缆.电话线或者光缆等有形传输介质通信,还有就是通过激光.微波.卫星等实现无线通信 2.W ...
- input设置背景透明、placeholder的字体颜色及大小
1.设置input背景透明: background:rgba(255,255,255,0.1); 前面三个参数为对应的rgb数值,第四个参数为透明度:0~1,0:透明,1:不透明: 2.设置input ...
- 反射与特性与Tool编写
大多数程序都是用来处理数据的,他们读,写,操作和显示数据,图形也是一种数据. 程序员为某种目的创建和使用一些类型,因此,在设计时必须理解所使用类型的特性. 有关程序及其类型的数据被称为元数据,他们保存 ...
- ubuntu安装gitlab-ci-runner、注册
首先信任 GitLab 的 GPG 公钥: curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - ...
- Java框架spring Boot学习笔记(一):开始第一个项目
新建一个项目,选择Spring initializr 修改group和项目名 添加依赖包Web,MongoDB 设置保存位置和工程名 新建一个test的文件 输入代码: package com.xxx ...