`

java配置文件的读取写入的解决方案(getResourceAsStream的用法)

    博客分类:
  • Java
 
阅读更多

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类读取配置文件信息

    在Java类中,读取配置文件信息可以使用多种方法,其中一种方法是使用`this.getClass().getClassLoader().getResourceAsStream`方法。 `this.getClass().getClassLoader().getResourceAsStream`方法是Java类中的一种...

    java读取配置文件

    Java 读取配置文件是开发过程中常见的需求,用于获取应用程序运行时所需的参数或设置。配置文件通常包含关键的系统信息,如数据库连接字符串、API密钥等,它们允许程序根据不同的环境或用户需求进行动态配置。Java ...

    java 读取配置文件

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的设置、连接信息或其他敏感数据,这样可以将这些信息与核心代码分离,便于管理和更新。本篇文章将...

    java读取配置文件(axun)

    在Java编程中,读取配置...总结来说,Java中读取配置文件的关键在于使用合适的工具或类(如`Properties`)来解析文件,并确保正确处理异常情况。在实际项目中,考虑将配置管理抽象化,以提高代码的可维护性和灵活性。

    java读取配置文件的实例代码

    总结来说,Java中读取配置文件是一个基本但至关重要的操作,使用`Class.getResourceAsStream`结合`Properties`类可以轻松完成。确保正确设置配置文件的路径,以及在使用完毕后关闭`InputStream`,以避免资源泄露。...

    java读取配置文件源代码

    这里,我们关注的是如何使用Java来读取配置文件,这通常涉及到`java.util.Properties`类和文件I/O操作。 标题“java读取配置文件源代码”表明我们将讨论一个Java程序,该程序用于从`.properties`文件中加载和解析...

    JAVA配置文件编写说明文档

    Java中读取配置文件有多种方式: 1. 使用`java.util.Properties`类:适用于属性文件。示例代码如下: ```java Properties props = new Properties(); InputStream is = getClass().getResourceAsStream("/...

    ReadProperties读取java项目配置文件

    3. **读取配置属性**:加载完成后,我们可以通过键(key)来获取对应的值(value)。例如,如果我们有一个名为`db.url`的属性,我们可以这样读取: ```java String dbUrl = props.getProperty("db.url"); ``` 4. *...

    JAVA读取配置文件源码

    首先,Java提供了多种方式来读取配置文件,包括使用`java.io`包中的`FileReader`和`BufferedReader`,或者使用`java.nio`包的`Files`类。此外,`java.util.Properties`类是处理配置文件的一种常见方法,它特别适用于...

    Java配置文件链接数据库

    下面是一个简单的示例,展示了如何在Java中读取配置文件并使用JDBC连接数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties...

    java 读取properties文件代码

    读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...

    Java程序中的配置文件的存放和读取[文].pdf

    Java程序中的配置文件管理和读取是软件开发过程中的常见任务,尤其在涉及到数据库连接、环境配置等场景时,配置文件的正确存放和读取至关重要。本文主要探讨如何在Java程序中处理配置文件。 首先,配置文件通常包含...

    java配置文件 beta v1.0

    1. 加载配置文件:使用`InputStream`打开文件,例如通过`FileInputStream`或`ClassLoader.getResourceAsStream()`方法。 2. 创建`Properties`对象:`Properties`类是用于处理配置文件的标准工具。 3. 加载配置:调用...

    java 读取资源文件

    在Java编程中,读取资源文件是常见的任务,特别是在配置应用程序、处理文本数据或加载本地化内容时。本文将深入探讨如何使用Java读取资源文件,特别是properties类型的文件。 资源文件通常存储在项目的类路径...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    1. 使用`flush()`方法强制将缓冲区的数据写入文件,然后关闭流。 2. 在写入后,重新加载Properties文件,以验证数据是否已更新。 ```java prop.store(out, null); out.flush(); out.close(); // 重新加载 ...

    文件写入,项目相对路径,java反射,模板数据写入

    在Java应用中,我们经常需要获取资源文件的位置,这时可以使用`Class.getResource()`或`Class.getResourceAsStream()`方法,它们能够根据类加载器解析相对于类路径的路径。例如,如果你有一个名为`config.properties...

    Java实现从jar包中读取指定文件的方法

    在Java编程中,有时我们需要从已经打包的JAR文件中读取特定的资源文件,例如配置文件、图片或库。本篇文章将详细讲解如何在Java中实现从JAR包中读取指定文件的方法。 首先,Java提供了`java.util.jar`包,其中包含...

    java读取属性文件

    在Java应用程序中,我们经常需要读取这些属性文件来获取配置参数。下面将详细解释如何在Java中读取属性文件,并提供一个示例来帮助理解。 首先,Java提供了`java.util.Properties`类来处理属性文件。这个类包含了...

    Java 加载配置文件的方式

    自Java 11开始,可以直接使用`Files.readString()`方法读取文本文件,简化了配置文件的读取过程: ```java Path path = Paths.get("config.properties"); Properties prop = new Properties(); prop.load...

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

    - 通常,Java项目有一个标准的目录结构,如`src/main/java`用于存放Java源代码,`src/main/resources`用于存放资源文件,如配置文件、图片或文本文件等。如果你的文件直接放在`src`目录下,可能意味着它是在源代码...

Global site tag (gtag.js) - Google Analytics