• properties 配置文件中值换行的问题


    在使用properties配置文件的时候我们经常碰到如下两个问题

    1:当a=b中的b值内容特别长的时候为了阅读方便我们手动换行,但如果我们直接回车那么后面的数据就会丢失。那如何解决呢?

    例如:

    a=aaaaaaaaasdfasdfasdfasdfasdfadfasdfaf

    我们如果想分两行卸载配置文件中应该如下写法

    a=aaaaaaaaas

    dfasdfasdfasdfasdfadfasdfaf

    2:当a=b中的b值内容特别长并且里面要分多行的话。

    例如我们想打印出的值如下

    aaaaaaaaaa

    bbbbbbbb

    cccccc

    cccccc

    那么我们配置文件中应该如下编写

    a=aaaaaaaaaa bbbbbbbb cccccc cccccc


    Java读取Properties文件时碰到两问题:

     资源文件中的key对应的value过长时,书写不方便,需要换行,若直接回车则回车后的内容被忽略

    资源文件中的key对应的value需要换行显示时,若直接回车,则同样丢掉回车后的部分

        要 解决这两个问题其实不是很难,只是大家对properties文件的熟悉程度不太一样。我就是因为不熟悉以前都是一位换行就可以了,但是这是不行的。如果 是用回车直接换行,则properties文件会自动以某个特殊字符作为分割符将这行value分割为key/value的形式。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    key1=Where did you take the picture?
         It's so beautiful!
         It's so beautiful!
         asdfasdfasd
         asfasdfsdfsadf
         asdfsadfsadfsdf
         asdfsdfasdfsadf
         asdfsadfsdf
    key2=Spring Hibernate Ibatis Velocity Java/nStruts


    测试源码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    package com.icbc.ctie.build;
     
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
     
    public class PropertiesTest {
        public static void main(String[] args){
            Properties properties = new Properties(); 
            try 
            
               InputStream inputStream = PropertiesTest.class.getClassLoader().getResourceAsStream("test.properties"); 
            /*   File property=new File("test.properties");
               FileInputStream inputStream=new FileInputStream(property);*/
                properties.load(inputStream); 
                inputStream.close(); //关闭流 
            
            catch (IOException e) 
            
                e.printStackTrace(); 
            
            String key1 = properties.getProperty("key1"); 
            String key2 = properties.getProperty("key2"); 
            System.out.println(key1); 
            System.out.println(key2); 
        }
    }


    上述代码如果用getResourceAsStream 方法就必须将test.properties文件放到src下或者添加至构建路径中。否则就是用File直接获取。

  • 相关阅读:
    统一身份认证部署ca 问题
    用组件beanutils,dbutils简化JDBC操作
    java 几种远程服务调用协议的比较
    让Tomcat支持路径、中文文件名(浏览器的get方式) .
    Spring 2.5中JdbcTemplate类query方法的三种回调接口
    tomcat 支持文件下载
    Eclipse 插件开发遇到问题心得总结
    eclipse user library的创建
    SCSI>SAS磁盘与FC磁盘的比较说明
    关于properties文件的字符编码
  • 原文地址:https://www.cnblogs.com/kabi/p/6139031.html
Copyright © 2020-2023  润新知