一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)
上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可
1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头)
InputStream is=Test1.class.getResourceAsStream("/test.txt");
(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")
2 从httpServletRequest出发
String cp11111=request.getSession().getServletContext().getRealPath("/");
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)
eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);
输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/
另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)
eg String p2=JdomParse.class.getResource("").getPath();
System.out.println("JdomParse.class.getResource---"+p2);
输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录下jdom包中的类)
分享到:
相关推荐
Java 中的路径问题一直是困扰许多编程人员的问题之一。在 Java 中,我们需要了解相对路径和绝对路径的概念,以及如何获取它们。下面我们将详细地讨论 Java 中的相对路径和绝对路径的问题。 1. 获取工程的绝对路径 ...
Floyd-Warshall算法是一种经典的解决图中所有顶点对最短路径问题的算法,由美国计算机科学家Robert W. Floyd于1962年提出。该算法的核心思想是逐步考虑更多的中间节点,通过动态规划的方式更新最短路径。在Java中...
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
### JAVA获取项目路径 在Java开发中,获取项目的路径是一个非常常见的需求,尤其是在处理文件读写、资源定位等场景时尤为重要。本文将详细介绍如何通过不同的方法来获取项目的各种路径,并结合示例代码进行说明。 ...
在Java开发中,路径的获取是一项基础而关键的操作,它涉及到资源文件的定位、文件读写等场景。根据给定的文件信息,我们可以总结出在不同的Java环境(如JSP、Class文件、Servlet)中获取路径的多种方法,每种方法都...
Java编程实现AOE(Arc-Of-Event)网络来寻找关键路径是一种常见的项目管理和工程计划优化技术。AOE网络是一种图形表示法,用于表示任务之间的依赖关系和它们所需的时间,其中节点代表活动,边代表活动之间的顺序关系。...
在Java编程领域,一个"java工程源代码实例"通常指的是包含了一系列类、接口、方法和其他相关资源的项目,这些组合起来构成了一个可运行的程序。Java工程是开发人员用来组织和管理代码的方式,使得代码更加模块化,...
在本文中,我们将详细探讨如何将Java工程打包成JAR包,并理解其工作原理。 首先,让我们了解Java程序的打包过程。Java程序打包主要分为两部分:普通程序打包和特殊插件打包。对于大多数开发者来说,关注的是普通...
"Java工程脱离Eclipse运行" Java工程脱离Eclipse运行是指将Java工程从Eclipse中独立出来,生成一个可以独立运行的JAR包。下面是实现这一过程的详细步骤: 1. 选择要导出的项目,右键点击选择“导出” 2. 在弹出的...
在Java开发过程中,遇到的问题多种多样,从环境配置到代码编写,每个环节都有可能出现问题。以下是一些关于Java开发的常见问题及其解决方法。 首先,确保Java开发环境的正确安装和配置。在Windows系统中,可以通过...
### JAVA类、JSP与Servlet获取工程路径方法详解 #### 概述 在Java Web开发过程中,经常需要获取项目的根目录或某个特定资源文件的绝对路径。这些路径信息对于加载资源文件、处理文件上传下载等功能至关重要。本文将...
12. 验证一下你的工程路径是否正确指向了`WEB-INF/classes`,这是Eclipse将源代码编译后输出的地方。如果一切设置得当,Eclipse会在构建过程中自动将生成的类文件复制到这个位置。 至此,你已经在Eclipse中成功配置...
Java获取工程路径方法详解的知识点主要包括了在Java中如何获取工程路径的几种不同方法,以及每种方法的具体应用和示例代码。在开发Java程序时,往往需要获取到当前工程的路径,这在文件读写、资源定位等场景中非常...
在Eclipse中创建的Java工程,其默认的根目录并不是源代码目录`src`,而是工程的物理根目录,也就是`Homework`。这意味着当你试图通过Java程序访问文件时,你需要基于这个根目录来构建你的文件路径,而不是基于源代码...
4. **获取项目工程路径**:对于Eclipse这样的IDE,你可能想要获取整个工程的路径,而不是单个类文件。这通常需要通过IDE提供的API或者特定的插件来完成,而不是标准的Java库。Eclipse插件开发中,可以通过`...
关键路径问题(课程设计)Java.docx 关键路径问题是我们估算某些工程非常有用的技术,是一种非常重要的估算一项工程所需的最短时间的依据。本文对如何求一个工程的关键路径做了详细的说明,包括需求分析、概要设计...
java开发软件工程课程设计学生信息管理系统项目源代码。运行该项目 第一次运行项目: 使用IDEA: 使用IDEA导入该工程 使用IDEA定位到红色的报错位置,Alt+Enter导入所需要的包(javax和Junit) 运行test包下的...
### Java类所在工程路径源代码解析 #### 1. 获取类路径 在Java中,获取类路径是常见的需求之一,尤其是在需要动态加载资源或者进行配置文件读取等场景下。在提供的代码片段中,`this.getClass().getResource("/")` ...