我们在解析配置文件的时候,常常会为路径发愁,我就遇到过这样的情况
如上图所示:
ParseProperties.java是配置文件database.properties的解析类,那么我们怎样去取得它的路径并解析起配置呢?看解析类ParseProperties的源代码如下:
package zy.pro.sc.db;
import java.util.*;
import java.io.*;
public class ParseProperties {
Properties properties = new Properties();
public ParseProperties() {
try{
this.parseProp();
}catch(Exception e){
e.printStackTrace();
}
}
public Properties parseProp()throws IOException {
InputStream is=this.getClass().getResourceAsStream("database.properties");
properties.load(is);
is.close();
return null;
}
public String getProperties(String propStr){
return properties.getProperty(propStr);
}
public static void main(String[] args) {
ParseProperties pp=new ParseProperties();
String driver=pp.getProperties("jdbc.driver");
System.out.println(driver);
}
}
看粗体部分,this.getClass()方法可以得到了当前类的Class对象,也可以用 ParseProperties.class.getClass()方法来实现同样的效果。之后调用其getResourceAsStream ("database.properties")方法来解析配置文件。getResourceAsStream()方法解析文件时候的相对路径是当前类的 包路径。
就当前的包来说,zy.pro.sc.db对应的路径是src/zy/pro/sc/db。由于我们要解析的文件和解析类在同一目录下,所以我们的路径是"database.properties"。
如果我们的解析文件和解析类不在同一目录下呢,如以下目录结构:
那么先看一下我们解析类的代码:
InputStream is=this.getClass().getResourceAsStream("/database.properties");
解析路径变成了"/database.properties", “/“表示取当前类所在的包的根路径下的database.properties文 件,也就是相对于ParsePropertie.class的包的根路径下的 database.properties文件。
用这种方法更有灵活性。此地要认真体会。不用这种方法,你的解析类只能在目录结构不发生改变的情况下使用。否则将发生异常。例如:你的解析类在servlet中调用的时候就会抛出找不到文件的异常。
此路径的定位方法也可以使用于解析XML的文件。详细情况同上。
分享到:
相关推荐
用贪心算法解单源最短路径问题 在计算机科学和信息技术领域中,单源最短路径问题是指从一个源点到其他顶点的最短路径问题。它是一种典型的图论问题,广泛应用于交通网络、通信网络、计算机网络等领域。贪心算法是...
#### 二、常见路径问题及解决方案 在实际开发过程中,经常会遇到一些与路径相关的常见问题。以下是一些典型示例及其解决方法: **2.1 错误的相对路径** **问题描述**: 当使用相对路径时,如果路径设置错误,...
最短路径问题在计算机科学和运筹学中是一项核心任务,尤其在图论与网络分析领域,它旨在找出网络中的最短路径,以便优化资源分配、提高效率或解决其他相关问题。Floyd算法,又称为Floyd-Warshall算法,是解决这一...
本资源是关于基于贪心法求解单源最短路径问题的实验报告,包括实验内容、算法设计、算法描述、算法正确性证明、算法分析、算法实现与测试等部分。 实验目的:理解贪心法的核心思想、贪心法的求解过程,并从算法分析...
根据给定的信息,本文将详细解释Java实现的最短路径问题动态规划算法。该程序的主要目的是寻找图中各个节点到指定终点的最短路径,并输出每个节点到终点的最短距离以及达到这些最短距离时的决策路径。 ### 1. 问题...
在Java编程中,路径是访问文件或资源的关键。路径分为绝对路径和相对路径两种类型,它们各有不同的用途和特点。...理解并灵活运用这些方法,能帮助开发者有效地管理项目中的资源文件,避免因路径问题引发的错误。
总之,通过本篇文章提供的代码示例和解析,您可以更好地理解如何在HTML5中处理媒体文件的路径问题,无论是绝对路径还是相对路径,都能够灵活应对。希望这些知识点能够帮助您在开发过程中更加得心应手。
数据分析与决策在最短路径问题中同样重要。在确定公交停靠点的过程中,需要收集各个住宅区的人口数量和地理位置等数据。通过数据分析,我们可以判断哪些点对优化公交网络最为关键。这种决策过程要求我们不仅要理解...
在这个场景中,我们关注的是如何利用动态规划来解决最短路径问题。 最短路径问题是一个经典的图论问题,旨在找到网络中的两个节点之间具有最小权重的路径。这在物流、交通、网络路由等领域有着广泛应用。动态规划在...
在求解带约束的最短路径问题时,算法会不断分支出新的可能性,并对每个分支进行上下界分析,以确保只保留具有潜在最优解的分支。 在这个项目中,我们可能找到了以下关键知识点: 1. **分支策略**:确定如何将当前...
本文将详细解析Java中的路径问题,并提供相应的解决策略。 首先,Servlet的访问路径是通过`web.xml`文件配置的。配置示例为`<url-pattern>Servlet访问路径</url-pattern>`。Servlet的路径有两种基本形式:以"/"开头...
最短路径问题在计算机科学和数学中是一个经典且重要的研究领域,它涉及到网络分析、图论和优化理论。数学建模则是将现实世界的问题抽象成数学模型,通过数学方法求解,以找到最优解决方案。在这个场景中,"最短路径...
在单源最短路径问题上,贪心策略表现为每次选择当前未访问节点中距离源节点最近的节点,逐步扩展已知最短路径的范围。 【部分内容】中具体介绍了Dijkstra算法,这是解决单源最短路径问题的经典算法。Dijkstra算法的...
### 交通咨询系统设计——最短路径问题 随着交通网络的不断发展和完善,如何高效地规划出行路线成为了一个迫切需要解决的问题。为此,本篇将基于给定文件中的内容,深入探讨交通咨询系统的具体设计,包括如何构建...
【圆柱表面最短路径问题】是一个经典的几何学问题,主要涉及到三维空间中的最优化问题。这个问题通常在解决实际问题时出现,例如蚂蚁从圆柱体的一个端点爬到另一个端点的最短路径。在数学领域,这个问题可以通过平面...
路径分析可以用于解决各种实际问题,如物流配送、emergency response、交通规划等。 路径分析的核心概念是阻抗属性,阻抗属性是指网络中的阻力或成本,它可以是时间、距离、成本等。路径分析的目标是找到阻抗最小或...
车辆路径问题(Vehicle Routing Problem, VRP)是一个经典的优化问题,广泛应用于物流配送、城市交通规划等领域。遗传算法(Genetic Algorithm, GA)是一种模拟自然选择和遗传机制的全局优化方法,适用于解决这类...
在计算机科学领域,特别是在图论和网络分析中,"最短路径问题"是一个经典的问题,旨在找到连接两个节点间路径的最小成本或时间。而"第二最短路径问题"则是其扩展,它不仅要求找到最短路径,还要找出次优的路径,即第...
车辆路径问题(Vehicle Routing Problem, VRP)是物流配送、运输规划等领域常见的一类优化问题。它涉及到如何在满足特定约束条件下,如时间窗限制、配送中心能力限制等,合理规划车辆的行驶路线,使得总行驶距离最短...