`
Vasile
  • 浏览: 38651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java web程序从系统classpath中读取资源文件

阅读更多
写了个properties资源文件用于存储些可以改的系统参数,为了方便放在classes文件夹下。
Properties res = new Properties();
InputStream in = SomeClass.class.getClassLoader().getResourceAsStream("pro.properties");
res.load(in);
in.close();
res.getProperty(key);

Class.getResourceAsStream 和 ClassLoader.getResourceAsStream

这两个方法还是略有区别的, 以前一直不加以区分,直到今天发现要写这样的代码的时候运行错误, 才把这个问题澄清了一下。

基本上,两个都可以用于从 classpath 里面进行资源读取,  classpath包含classpath中的路径和classpath中的jar。

两个方法的区别是资源的定义不同, 一个主要用于相对与一个object取资源,而另一个用于取相对于classpath的资源,用的是绝对路径。

在使用Class.getResourceAsStream 时, 资源路径有两种方式, 一种以 / 开头,则这样的路径是指定绝对路径, 如果不以 / 开头, 则路径是相对与这个class所在的包的。

在使用ClassLoader.getResourceAsStream时, 路径直接使用相对于classpath的绝对路径。

分享到:
评论

相关推荐

    java读取项目中的文件(src目录下)

    在Java编程中,读取项目中的文件,特别是位于`src`目录下的文件,是一个常见的需求。这涉及到对项目结构的理解和使用Java I/O流的知识。`src`目录通常包含源代码文件,而运行时,这些文件会被编译并放置到类路径...

    java classloader classpath 张孝祥

    类加载器(`ClassLoader`)是Java运行时环境的一部分,它的主要职责是从文件系统或网络中获取字节码,将其转换为`Class`对象,并在Java虚拟机中运行。Java中的类加载机制遵循“按需加载”原则,即只有当程序真正需要...

    Web文件系统源码-支持版本管理,权限管理

    这是一个基于Web的文件管理系统源码,它包含了版本管理和权限控制的功能。这个系统可能被设计用于在云端或企业内部实现高效、安全的文档存储和协作。接下来,我们将详细探讨相关知识点。 1. **Web文件系统**:这是...

    浅谈web项目读取classpath路径下面的文件

    浅谈web项目读取classpath路径下面的文件 本文主要介绍了web项目读取classpath路径下面的文件,涵盖了两种类型的web项目:普通的web项目和内嵌web容器。普通的web项目使用 Tomcat 容器,特点是压缩包随着容器的启动...

    读取war包或jar包内的文件

    ClassLoader是Java中负责加载类的组件,它知道如何从不同的源(如文件系统、网络或ZIP文件)加载类和资源。 2. **getResource() 和 getResourceAsStream()**: 这两个方法是ClassLoader和类的Class对象提供的。`get...

    用java编写的OA系统

    【标题】"用Java编写的OA系统"是一个基于Web的办公自动化系统,它利用了多种Java技术和框架,为用户提供了一套完整的解决方案。该系统旨在提高工作效率,实现无纸化办公,促进信息共享,并且适用于各种组织机构。 ...

    JAVA Web程序设计-3期(KC006) 13-4应用jExcelAPI组件生成Excel文件的操作步骤.doc

    Java Web程序设计中,生成Excel文件是一个常见的需求,特别是在数据导出或报表生成的场景下。jExcelAPI是一个开源的Java库,它允许开发者轻松地读取和写入Microsoft Excel文件,无需安装Microsoft Office。本教程...

    Java或web中解决所有路径问题

    在Java Web开发中,路径问题往往困扰着许多开发者,尤其是在处理资源定位、文件读取以及配置文件加载等场景时。本文将深入解析Java Web中所有路径问题的解决方法,涵盖Servlet、Action、Controller、Filter、...

    javaweb 读取 classes 下的文件

    在Java Web开发中,有时我们需要从应用程序的`classes`目录或者对应的`WEB-INF/classes`目录中读取资源文件,例如配置文件、静态内容或者数据库连接字符串等。这通常发生在我们想要在运行时加载非代码的资源,而这些...

    基于Java web的服装商城管理系统(源码+数据库).zip

    在IT行业中,构建一个在线购物平台是常见的应用场景,而基于Java Web的服装商城管理系统就是一个典型的实例。本文将深入解析这一系统的核心技术和实现流程,帮助读者理解和掌握相关知识。 首先,Java Web是Java技术...

    java文件的加载

    在Java应用开发中,特别是Web应用程序的构建过程中,资源文件(如配置文件、属性文件等)的加载是必不可少的一部分。本文将重点探讨Java环境下不同方式下的文件加载方法,尤其关注在Spring框架下的实践与应用。 ###...

    java项目中获取路径详解

    在 Java 项目中,读取包内文件可以使用 `getResourceAsStream` 方法。例如,`InputStream in = ReadFile.class.getResourceAsStream("/com/lavasoft/res/a.txt");` 可以读取包内的文件 `a.txt`。 Java Web 项目中...

    深入体验java web开发内幕

    根据给定文件的信息,我们可以提炼出以下几个重要的Java Web开发...通过上述知识点的学习和实践,读者可以更好地理解Java Web开发中关于Servlet类文件的管理和文件读取的注意事项,从而避免常见的错误并提高开发效率。

    java实现本地读取图片存储到数据库中并在html网页显示

    在Java中,我们可以使用`java.io`和`java.nio`包中的类来读取和处理二进制文件。 1. **读取本地图片**: 使用`java.io.FileInputStream`或`java.nio.file.Files`可以读取本地图片文件。例如,通过以下代码片段,...

    JAVA面向对象程序设计教案

    * 编译源程序:Java 编译器读取 Java 源程序并翻译成 Java 虚拟机能够明白的指令集合,并以字节码的形式保存在文件中,通常,字节码文件以.class 作为扩展名。 * 运行 class(字节码)文件:Java 解释器读取字节码...

    Java Web可视化实践项目

    Java Web可视化实践项目是开发基于Java技术的交互式Web应用程序的一种常见方式,它结合了后端服务器处理和前端用户界面展示。在这个项目中,我们将会深入探讨如何利用Java Web技术来实现一个具有可视化效果的应用。...

    ant编译java web的build.xml文件

    这段代码告诉Ant从`src/main/java`目录下获取源代码,编译后放入`build/classes`目录,并且类路径包含`lib`目录下的所有JAR文件。 4. **打包与归档** 使用`jar`任务可以创建JAR或WAR文件,这是Java Web应用的标准...

    java web开发中的路径问题

    在开发中,获取服务器中当前WebRoot的物理路径对于读取文件、配置资源等操作非常重要。这可以通过以下几种方式实现: 1. **使用ServletContext**:通过`ServletContext.getRealPath("/")`来获取当前应用在服务器上...

    java程序开发中路径的问题

    在Java程序开发中,路径问题是一个常见的挑战,尤其是在处理文件操作、类加载和资源访问时。路径分为绝对路径和相对路径,理解它们的区别是解决路径问题的基础。 **绝对路径** 是指从根目录开始到目标文件的完整...

    Json for Java 示例程序(eclipse工程)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Java应用程序中与其他系统进行数据交互。在Java中,有多个库可以帮助我们处理JSON,其中最常用的包括`org.json`、`com.google.gson`和`...

Global site tag (gtag.js) - Google Analytics