properties 读取配置文件

该博客介绍了在Java中如何通过javaProperties读取配置文件,并解决了在打包运行时可能出现的中文乱码问题。通过使用getResource和getResourceAsStream方法获取资源路径和输入流,再配合使用URLDecoder进行路径解码和InputStreamReader指定字符编码,确保正确读取和加载配置文件。
摘要由CSDN通过智能技术生成

java Properties读取配置文件

  • 在编辑器测试:

     /**
         * 取得当前类路径下的 resName资源的完整路径
         * url.getPath()获取到的路径被utf-8编码了
         * 需要用URLDecoder.decode(path, "UTF-8")解码
         *
         * @param resName 需要获取完整路径的资源,需要以/打头
         * @return 完整路径
         */
        public static String getResourcePath(String resName)
        {
            URL url = ConfigProperties.class.getResource(resName);
            String path = url.getPath();
            String decodePath = null;
            try
            {
                decodePath = URLDecoder.decode(path, "UTF-8");
            } catch (UnsupportedEncodingException e)
            {
                e.printStackTrace();
            }
            return decodePath;
        }
    
  • 打包运行

     protected void loadFromFile()
        {
            InputStream in = null;
            InputStreamReader ireader = null;
            try
            {
                in = ConfigProperties.class.getResourceAsStream(propertiesName);
                //解决读非UTF-8编码的配置文件时,出现的中文乱码问题
                ireader = new InputStreamReader(in, "utf-8");
                properties.load(ireader);
            } catch (IOException e)
            {
                e.printStackTrace();
            } finally
            {
                closeQuietly(ireader);
            }
        }
    
        public static void closeQuietly(java.io.Closeable o)
        {
            if (null == o) return;
            try
            {
                o.close();
            } catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java程序可以使用Properties类来读取配置文件Properties类是Java标准库的一个类,它提供了一种简单的方式来读取和写入配置信息。 首先,我们需要创建一个Properties对象来加载配置文件。可以使用load()方法来读取文件,并将其加载到Properties对象。例如,可以使用FileInputStream类将配置文件作为输入流来加载: ``` Properties properties = new Properties(); InputStream inputStream = new FileInputStream("config.properties"); properties.load(inputStream); ``` 在上述代码,我们将配置文件"config.properties"作为输入流传递给Properties对象的load()方法来加载配置信息。 一旦配置文件被加载到Properties对象,我们可以使用getProperty()方法来获取特定的配置值。getProperty()方法接受属性的名称,并返回与之对应的属性值。例如,我们可以使用以下代码获取配置文件的"username"属性的值: ``` String username = properties.getProperty("username"); ``` 上述代码将返回配置文件"username"属性的值,并将其赋给字符串变量username。 同样地,我们也可以使用setProperty()方法来设置配置文件的属性值。例如,我们可以使用以下代码在运行时修改配置文件的"password"属性的值: ``` properties.setProperty("password", "new_password"); ``` 上述代码将把"password"属性的值设置为"new_password"。 最后,我们需要关闭输入流来释放资源。可以使用close()方法来关闭输入流: ``` inputStream.close(); ``` 通过上述步骤,我们可以轻松地使用Properties类来读取配置文件并获取其属性值,同时也可以修改配置文件的属性值。这为Java程序的配置提供了方便和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值