`
iceriverho
  • 浏览: 44936 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

新手入门 解析配置文件的问题

阅读更多

 

<!-- Error -->
我们在解析配置文件的时候,常常会为路径发愁,我就遇到过这样的情况
  
 

  如上图所示:
  
  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的文件。详细情况同上。

分享到:
评论

相关推荐

    解析FatFs源代码,新手入门资料

    FatFs配置项定义在`ff.h`和相关的配置文件中,下面是一些关键配置项的说明: - `_USE_LFN`:这个配置项决定是否启用长文件名(LFN)支持。长文件名支持是FAT32的一个特性,但并非所有版本的FatFs都支持。 - `_MAX_...

    LINUX新手入门及安装配置

    ### Linux新手入门及安装配置详解 #### 一、入门篇:了解Linux与基本概念 Linux是一种免费开源的操作系统,基于Unix的设计思想,由Linus Torvalds在1991年首次发布。它以其高度的稳定性、安全性以及广泛的硬件支持...

    LINUX新手入门及安装配置FAQ.doc

    Linux新手入门及安装配置常见问题解答(FAQ) 入门篇: Linux是一种开源操作系统,适用于各种用途,包括个人电脑、服务器和嵌入式系统。对于新手来说,了解Linux的基础知识和安装流程至关重要。 安装篇: 1. 如何...

    log4j配置详解 新手入门教程

    通过对Log4j的配置文件进行详细的解析,我们可以了解到如何灵活地配置Log4j来满足不同应用场景的需求。合理的日志配置不仅可以帮助开发者更好地追踪问题,还可以提高系统的可维护性和扩展性。希望本文能帮助初学者...

    mavlink新手入门1

    Mavlink 的配置文件包含了这些信息,允许软件正确解析和处理接收到的数据。 在 C++、C#、Java 等编程语言中,开发者可以使用 Mavlink 库来构建和解析这些消息,实现地面控制站与飞行控制器之间的交互。这些库提供了...

    SpringMVC新手入门Demo1_2

    本教程“SpringMVC新手入门Demo1_2”旨在帮助新手快速入门,通过五个不同的示例(test7、test9、test6、test10、test8)来逐步解析SpringMVC的核心组件和工作流程。 首先,SpringMVC中的核心组件包括...

    服务器新手入门.docx

    服务器新手入门教程主要涵盖了几大核心知识点,包括服务器操作系统的选择与配置、网络服务的搭建、域环境的构建、用户及权限管理、文件同步与分布式文件系统(DFS)、Web服务器的部署以及网络负载均衡(NLB)的配置...

    MTK入门导读—新手入门参考

    开发目录结构通常包括源代码、头文件、配置文件、库文件等,每个目录都有特定的功能,例如存放特定层次的协议栈代码、驱动代码或应用程序代码。理解这个结构有助于开发者有效地组织和管理项目。 6. **MMI制作** ...

    Struts1新手入门笔记(全)

    ActionServlet会解析请求,根据配置文件(通常位于/WEB-INF/struts-config.xml)中的定义来调度业务逻辑和视图。 在开始使用Struts1之前,你需要做以下准备工作: 1. 获取Struts1的jar包,比如版本1.2.x,将其复制...

    webservice新手入门实例

    在这个新手入门实例中,你将学习到以下关键知识点: 1. **创建Web Service**:首先,你需要创建一个提供服务的服务器端程序,通常使用Java的JAX-WS(Java API for XML Web Services)或者.NET的ASMX等技术。这个...

    Windchill_二次开发新手入门常用的API

    ### Windchill_二次开发新手入门常用的API #### 1. 查询零件(Part)名称或编号 **API**: ```java // 通过名称查询零件 WTPartHelper.findPartByName(name); // 通过编号查询零件 WTPartHelper.findPartByNumber...

    DISCUZ插件开发新手入门

    ### DISCUZ插件开发新手入门详析 #### 引言 DISCUZ!作为一款广泛使用的论坛系统,其插件开发能力对于扩展系统功能、满足个性化需求具有重要意义。本文旨在为初学者提供一份详尽的DISCUZ插件开发指南,通过分析标题...

    spring mvc+hibernate 简单 实例 代码,新手入门

    4. **新手入门步骤:** - 安装和配置 JDK、Maven 或 Gradle、Tomcat 服务器以及相关的开发工具。 - 创建 Maven 或 Gradle 项目,引入 Spring MVC 和 Hibernate 相关依赖。 - 设计数据库表并创建对应的实体类,...

    SpringMVC新手入门Demo1_1

    在这个"SpringMVC新手入门Demo1_1"压缩包中,包含了五个不同的示例项目,帮助初学者逐步理解并掌握SpringMVC的核心概念和使用方法。 1. **模型(Model)**: 在SpringMVC中,模型通常是Java对象,负责存储应用的数据...

    F28M35新手入门必备

    【F28M35新手入门】:TI的F28M35是一款先进的双核处理器,专为工业控制、自动化和其他嵌入式应用设计。它集成了两个处理核心,一个M3核(基于ARM Cortex-M3)和一个C28核,提供了强大的计算能力和实时响应性能。 ##...

    Linux新手入门十三课

    ### Linux新手入门十三课:全面解析与学习指南 #### Linux目录结构及说明 Linux系统以其独特的目录结构组织文件,这是所有Linux用户必须掌握的基础知识。Linux的目录结构如同一棵倒置的大树,从根目录(/)开始...

    solaris新手入门手册.doc

    《Solaris新手入门手册》是针对初学者的一份详尽指南,主要涵盖了Solaris操作系统的基础操作和管理知识。本文将深入解析手册中的关键概念和技术。 首先,了解超级用户状态至关重要,因为这是执行系统管理和维护任务...

    Yii权威指南(非常适合新手入门)

    - `$config`指向配置文件的位置。 - `YII_DEBUG`常量用于设置调试模式,生产环境中应取消此定义。 #### 五、深入学习资源 - **作者提示**: - **代码包含**: 所有需要的代码都包含在文档中。 - **疑问解答**: ...

    LabVIEWLabview新手入门学习程序.rar

    本资源"LabVIEWLabview新手入门学习程序.rar"显然是为初学者提供的一套学习资料,旨在帮助用户快速掌握LabVIEW的基本操作和编程技巧。 在LabVIEW中,编程通过连接各种功能块的图标(称为VI,Virtual Instrument)来...

    新手入门的DOS命令 pdf版本

    ### DOS命令新手入门知识点详解 #### 一、基础命令概览 DOS(Disk Operating System)是一种基于文本的命令行操作系统界面,对于初学者来说掌握一些基本的DOS命令是非常必要的。以下是从“新手入门的DOS命令宝典”...

Global site tag (gtag.js) - Google Analytics