- 浏览: 65184 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (46)
- jvm调优相关 (3)
- java编程语言 (6)
- jQuery &css (11)
- hsf ;spring (3)
- Eclipse 相关 (1)
- 缓存 jvm相关 (2)
- 文件处理 (7)
- html post请求乱码问题 (0)
- java 表单字符处理问题 (2)
- ibitas相关 (2)
- TCP/IP相关 (1)
- 网站架构 (1)
- 编码规范和代码重构 (2)
- spring架构&java web框架原理 (2)
- java web日志相关 (1)
- 网络编程 (1)
- 其他收藏 (0)
- iReport;报表 (0)
- 包和类加载冲突 (0)
- 数据库相关 (1)
- 心得;分享;其他 (1)
- web安全相关 (0)
- 线上问题总结和处理 (0)
- mtee (0)
- xu (0)
- 可心一点 (0)
- 爬虫 (0)
最新评论
在java web开发中,常常需要在启动服务器的时候就需要读取一些配置文件的信息,以初始化上下文和一些项目用到的配置常量,下面介绍几种读取配置文件的方法:
方法一:
public class PropUtil { public static Properties getProUtil() { Properties config = new Properties(); InputStream is = null; try { System.out.println(PropUtil.class.getClassLoader().getResource("").toString() ); System.out.println(PropUtil.class.getResource("/").toString() ); is = PropUtil.class.getClassLoader().getResourceAsStream( "quartz.properties "); config.load(is); } catch (IOException ex) { // } finally { if (is != null) { try { is.close(); } catch (IOException ex) { // ignore } } } return config; } public static void main(String[] args) { System.out.println(getProUtil().toString()); } }
输入结果:
file:/D:/all_project/tee_7.6/tee-biz/target/test-classes/ file:/D:/all_project/tee_7.6/tee-biz/target/test-classes/ {org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool, org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore, org.quartz.scheduler.instanceId=one, org.quartz.threadPool.threadPriority=4, org.quartz.scheduler.instanceName=myScheduler, org.quartz.threadPool.threadCount=30}
注意: 在工程项目中,PropUtil源文件所在的路径和编译后的字节码所在的路径不是在一个地方,具体是在pom.xml中配置的,根据输出结果,PropUtil生成的class文件在D:\all_project\tee_7.6\tee-biz\target\test-classes\com\taobao\tee\readResouceFiles目录下,它能读取的资源文件必须放在 D:/all_project/tee_7.6/tee-biz/target/test-classes/ 目录下,所以只有把quartz.properties放在这个目录下才能读取到这个资源文件。
另外,其中最好的写法是:InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("quartz.properties");
方法二:通过文件操作的方式
public class PropUtil { public static Properties getProUtil() { Properties config = new Properties(); InputStream is = null; try { File file =new File("D:\\all_project\\riskm9.19\\riskm-web\\src\\main\\resources\\quartz.properties"); is=new FileInputStream(file); config.load(is); } catch (IOException ex) { // } finally { if (is != null) { try { is.close(); } catch (IOException ex) { // ignore } } } return config; } public static void main(String[] args) { System.out.println(getProUtil().toString()); } }
方法三:通过资源捆绑的形式:ResourceBundle 。
方法四:其实跟之前差不多:
public void initialize() throws SchedulerException { // short-circuit if already initialized if (cfg != null) { return; } if (initException != null) { throw initException; } String requestedFile = System.getProperty(PROPERTIES_FILE); String propFileName = requestedFile != null ? requestedFile : "quartz.properties"; File propFile = new File(propFileName); Properties props = new Properties(); InputStream in = null; try { if (propFile.exists()) { try { if (requestedFile != null) { propSrc = "specified file: '" + requestedFile + "'"; } else { propSrc = "default file in current working dir: 'quartz.properties'"; } in = new BufferedInputStream(new FileInputStream(propFileName)); props.load(in); } catch (IOException ioe) { initException = new SchedulerException("Properties file: '" + propFileName + "' could not be read.", ioe); throw initException; } } else if (requestedFile != null) { in = Thread.currentThread().getContextClassLoader().getResourceAsStream(requestedFile); if(in == null) { initException = new SchedulerException("Properties file: '" + requestedFile + "' could not be found."); throw initException; } propSrc = "specified file: '" + requestedFile + "' in the class resource path."; in = new BufferedInputStream(in); try { props.load(in); } catch (IOException ioe) { initException = new SchedulerException("Properties file: '" + requestedFile + "' could not be read.", ioe); throw initException; } } else { propSrc = "default resource file in Quartz package: 'quartz.properties'"; ClassLoader cl = getClass().getClassLoader(); if(cl == null) cl = findClassloader(); if(cl == null) throw new SchedulerConfigException("Unable to find a class loader on the current thread or class."); in = cl.getResourceAsStream( "quartz.properties"); if (in == null) { in = cl.getResourceAsStream( "/quartz.properties"); } if (in == null) { in = cl.getResourceAsStream( "org/quartz/quartz.properties"); } if (in == null) { initException = new SchedulerException( "Default quartz.properties not found in class path"); throw initException; } try { props.load(in); } catch (IOException ioe) { initException = new SchedulerException( "Resource properties file: 'org/quartz/quartz.properties' " + "could not be read from the classpath.", ioe); throw initException; } } } finally { if(in != null) { try { in.close(); } catch(IOException ignore) { /* ignore */ } } } }
发表评论
-
java 服务端获取文件路径的一些方法
2012-09-11 17:33 1254在上传文件时,会把在w ... -
java生成图片缩略图方法
2012-09-10 17:33 804在一些详情页面中,可能需要对上传到服务器中的图片生成以缩略图的 ... -
文件上传示例
2012-09-10 17:24 1487本例的目的是把本地文件以字节数组的形式保存在服务器的数据库中。 ... -
从服务器下载文件
2012-09-10 16:21 1012文件以字节数组存在数据库中,下载的时候从服务器端下载到本地: ... -
jquery post 中文乱码解决方案
2012-09-06 19:36 2418在很多spring mvc的vm页面中,对于上传的中 ... -
文件上传于下载
2012-08-27 16:00 0文件的上传和下载都是Web应用程序中很常见的功能,比如在论 ... -
servlet 文件下载
2012-08-27 15:57 658File f = new File(filePath); ...
相关推荐
在Java中,我们可以使用多种方法来读取配置文件,下面将详细介绍几种常见的方法。 1. **使用`java.io`流读取** 最基础的方式是使用Java的I/O流来读取文本配置文件(通常是.properties格式)。例如,`java.io....
下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`类 `Properties`类是Java提供的一种内置机制,用于处理属性列表。它继承了`Hashtable`类,提供了加载和保存属性列表...
在Java类中,读取配置文件信息可以使用多种方法,其中一种方法是使用`this.getClass().getClassLoader().getResourceAsStream`方法。 `this.getClass().getClassLoader().getResourceAsStream`方法是Java类中的一种...
使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...
本篇文章将详细探讨Java中加载配置文件的几种常见方式。 1. **使用Properties类** Java标准库中的`java.util.Properties`类是处理.properties文件的主要工具。我们可以使用`Properties.load()`方法从InputStream中...
Java读取Properties文件几种方法总结 Java读取Properties文件是Java开发中常见的操作,Properties文件是一种常用的配置文件格式,可以存储各种配置信息。Java提供了多种方法来读取Properties文件,本文将总结六种...
在Java编程中,Properties文件是一种常用的配置文件格式,用于存储应用程序的配置参数或者环境设置。这些文件通常以键值对的形式存在,例如`key=value`。读取Properties文件是Java开发中的常见操作,特别是在需要...
本文将深入探讨在SSM框架下加载properties配置文件的几种常见方法。 1. **使用Spring的PropertyPlaceholderConfigurer** Spring提供了`PropertyPlaceholderConfigurer`类,可以方便地从.properties文件中读取属性...
本文将详细讲解如何在Spring中读取配置文件。 首先,Spring配置文件通常以XML格式存在,例如`bean_config.xml`。这些文件定义了Bean的结构和它们之间的依赖关系。一个简单的配置文件示例如下: ```xml <!DOCTYPE ...
问题 自己开发一个工具类,为第三方应用提供调用接口,但是打包后测试过程...从配置上,完全没有写错的可能,见上方的配置,所以只能从不能获取配置文件内容的几种可能着手了! 变量被static关键字所修饰 我们所需要获
本实例将深入探讨如何使用Java进行文件的读取和写入操作,这对于处理数据存储、日志记录、配置文件管理等任务至关重要。首先,我们需要理解Java中的几个关键类,如`java.io.File`、`java.io.FileReader`、`java.io....
Java读取Excel文件是开发过程中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论...
配置文件的读写通常涉及到以下几个步骤: 1. **打开文件**:使用编程语言提供的API打开配置文件,例如在Python中可以使用`open()`函数,Java中则是`FileInputStream`或`FileReader`。 2. **读取内容**:读取文件...
在Java编程中,Properties文件是用于存储配置信息的关键组件,如数据库连接字符串、应用程序设置等。在处理Properties文件时,可能会...通过学习和实践这些解决方案,你将在Java应用开发中更有效地管理和更新配置文件。
这主要通过读取外部配置文件来实现,使得应用程序更具灵活性和可扩展性。Spring框架是Java领域中动态配置的典型代表,它提供了一种强大的方式来管理对象及其依赖关系,从而实现灵活的配置。 在Java中,动态配置通常...
以下是对几种在Java中读取属性文件的方法的详细介绍: 1. **使用`java.util.Properties`类的`load()`方法** 这是最基础的读取属性文件的方法。首先创建一个`FileInputStream`对象来打开文件,然后创建一个`...
在压缩包子文件的文件名称列表中,"FieldToRead--属性读写"可能表示的是一个实现此功能的具体文件,或者是一个示例,用于展示如何读取数据库字段并生成Java属性的读写方法。该文件可能是代码示例、配置文件或者是...
XML(eXtensible Markup Language)是一种结构化数据格式,广泛应用于配置文件、数据传输和数据存储等领域。 在描述中提到的博客文章“一次代码重构之旅-快速读写xml文件工具类封装”,作者分享了如何通过Java进行...
在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好地理解和掌握这些技巧。 #### 二、基本概念 在...