http://cyxinda.blog.51cto.com/6345204/1226010
1,首先,Java中的getResourceAsStream有以下几种:
1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由 ClassLoader获取资源。
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。
4. Jsp下的application内置对象就是上面的ServletContext的一种实现。
其次,getResourceAsStream 用法大致有以下几种:
第一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类me.class ,同时有资源文件myfile.xml
那么,应该有如下代码:
me.class.getResourceAsStream("myfile.xml");
第二:在me.class目录的子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.y.file 目录下有资源文件myfile.xml
那么,应该有如下代码:
me.class.getResourceAsStream("file/myfile.xml");
第三:不在me.class目录下,也不在子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.file 目录下有资源文件myfile.xml
那么,应该有如下代码:
me.class.getResourceAsStream("/com/x/file/myfile.xml");
总结一下,可能只是两种写法
第一:前面有 “ / ”
“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject
me.class.getResourceAsStream("/com/x/file/myfile.xml");
第二:前面没有 “ / ”
代表当前类的目录
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml"); 最后,自己的理解:
getResourceAsStream读取的文件路径只局限与工程的源文件夹中,包括在工程src根目录下,以及类包里面任何位置,但是如果配置文件路径是在除了源文件夹之外的其他文件夹中时,该方法是用不了的。
配置文件读取:
private static Properties properties = new Properties();
properties.load(getClass().getResourceAsStream(conifgName));
String value = properties.getString(key);
1,首先,Java中的getResourceAsStream有以下几种:
/** * 修改某个属性 * @param key 修改的属性名 * @param value 修改的属性值 * @return */ public static String setString(String key, String value) { OutputStream fos = null; try { fos = new FileOutputStream(Object.class.getResource(conifgName).getFile()); if (value == null || "".equals(value)) { return null; } if (null == instance) { getInstance(); } properties.setProperty(key, value); // 保存,并加入注释 properties.store(fos, "Update '" + key + "'111111 value"); return properties.getProperty(key); } catch (Exception e) { log.error("set properties error:(key->" + key + ",value->" + value + ")", e); e.printStackTrace(); return null; } finally { try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关推荐
在Java类中,读取配置文件信息可以使用多种方法,其中一种方法是使用`this.getClass().getClassLoader().getResourceAsStream`方法。 `this.getClass().getClassLoader().getResourceAsStream`方法是Java类中的一种...
Java 读取配置文件是开发过程中常见的需求,用于获取应用程序运行时所需的参数或设置。配置文件通常包含关键的系统信息,如数据库连接字符串、API密钥等,它们允许程序根据不同的环境或用户需求进行动态配置。Java ...
在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的设置、连接信息或其他敏感数据,这样可以将这些信息与核心代码分离,便于管理和更新。本篇文章将...
在Java编程中,读取配置...总结来说,Java中读取配置文件的关键在于使用合适的工具或类(如`Properties`)来解析文件,并确保正确处理异常情况。在实际项目中,考虑将配置管理抽象化,以提高代码的可维护性和灵活性。
总结来说,Java中读取配置文件是一个基本但至关重要的操作,使用`Class.getResourceAsStream`结合`Properties`类可以轻松完成。确保正确设置配置文件的路径,以及在使用完毕后关闭`InputStream`,以避免资源泄露。...
这里,我们关注的是如何使用Java来读取配置文件,这通常涉及到`java.util.Properties`类和文件I/O操作。 标题“java读取配置文件源代码”表明我们将讨论一个Java程序,该程序用于从`.properties`文件中加载和解析...
Java中读取配置文件有多种方式: 1. 使用`java.util.Properties`类:适用于属性文件。示例代码如下: ```java Properties props = new Properties(); InputStream is = getClass().getResourceAsStream("/...
3. **读取配置属性**:加载完成后,我们可以通过键(key)来获取对应的值(value)。例如,如果我们有一个名为`db.url`的属性,我们可以这样读取: ```java String dbUrl = props.getProperty("db.url"); ``` 4. *...
首先,Java提供了多种方式来读取配置文件,包括使用`java.io`包中的`FileReader`和`BufferedReader`,或者使用`java.nio`包的`Files`类。此外,`java.util.Properties`类是处理配置文件的一种常见方法,它特别适用于...
下面是一个简单的示例,展示了如何在Java中读取配置文件并使用JDBC连接数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties...
读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...
Java程序中的配置文件管理和读取是软件开发过程中的常见任务,尤其在涉及到数据库连接、环境配置等场景时,配置文件的正确存放和读取至关重要。本文主要探讨如何在Java程序中处理配置文件。 首先,配置文件通常包含...
1. 加载配置文件:使用`InputStream`打开文件,例如通过`FileInputStream`或`ClassLoader.getResourceAsStream()`方法。 2. 创建`Properties`对象:`Properties`类是用于处理配置文件的标准工具。 3. 加载配置:调用...
在Java编程中,读取资源文件是常见的任务,特别是在配置应用程序、处理文本数据或加载本地化内容时。本文将深入探讨如何使用Java读取资源文件,特别是properties类型的文件。 资源文件通常存储在项目的类路径...
1. 使用`flush()`方法强制将缓冲区的数据写入文件,然后关闭流。 2. 在写入后,重新加载Properties文件,以验证数据是否已更新。 ```java prop.store(out, null); out.flush(); out.close(); // 重新加载 ...
在Java应用中,我们经常需要获取资源文件的位置,这时可以使用`Class.getResource()`或`Class.getResourceAsStream()`方法,它们能够根据类加载器解析相对于类路径的路径。例如,如果你有一个名为`config.properties...
在Java编程中,有时我们需要从已经打包的JAR文件中读取特定的资源文件,例如配置文件、图片或库。本篇文章将详细讲解如何在Java中实现从JAR包中读取指定文件的方法。 首先,Java提供了`java.util.jar`包,其中包含...
在Java应用程序中,我们经常需要读取这些属性文件来获取配置参数。下面将详细解释如何在Java中读取属性文件,并提供一个示例来帮助理解。 首先,Java提供了`java.util.Properties`类来处理属性文件。这个类包含了...
自Java 11开始,可以直接使用`Files.readString()`方法读取文本文件,简化了配置文件的读取过程: ```java Path path = Paths.get("config.properties"); Properties prop = new Properties(); prop.load...
- 通常,Java项目有一个标准的目录结构,如`src/main/java`用于存放Java源代码,`src/main/resources`用于存放资源文件,如配置文件、图片或文本文件等。如果你的文件直接放在`src`目录下,可能意味着它是在源代码...