IO流properties

Posted java-jiangtao-home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流properties相关的知识,希望对你有一定的参考价值。

package properties;

import java.util.Properties;

public class Demo1 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定
         */
        Properties pro = new Properties();
        pro.setProperty("行者","武松");
        pro.setProperty("鼓上蚤","时迁");
        pro.setProperty("呼保义","宋江");
        System.out.println(pro);
        String xingzhe = pro.getProperty("行者");
        String gushangzao = pro.getProperty("鼓上蚤");
        String hubaoyi = pro.getProperty("呼保义");
        System.out.println(xingzhe);
        System.out.println(gushangzao);
        System.out.println(hubaoyi);
        
    }
}
package properties;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import java.util.Set;

public class Demo2 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定
         */
        Properties pro = new Properties();
        pro.setProperty("行者","武松");
        pro.setProperty("鼓上蚤","时迁");
        pro.setProperty("呼保义","宋江");
        PrintWriter pw = null;
        try {
         pw = new PrintWriter(new FileWriter("properties.txt"),true);
         Set<Object> keys = pro.keySet();
         for(Object obj:keys) {
             String key = (String) obj; 
             String value = pro.getProperty(key);
             pw.println(key+"======"+value);
         }
         
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(pw!=null) {
                pw.close();
            }
        }
        
    }
}
package properties;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import java.util.Set;

public class Demo3 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定
         */
        Properties pro = new Properties();
        pro.setProperty("行者","武松");
        pro.setProperty("鼓上蚤","时迁");
        pro.setProperty("呼保义","宋江");
        PrintWriter pw = null;
        try {//这个就是输出到控制台
         pw = new PrintWriter(System.out,true);
         Set<Object> keys = pro.keySet();
         for(Object obj:keys) {
             String key = (String) obj; 
             String value = pro.getProperty(key);
             pw.println(key+"======"+value);
         }
         
        }    finally {
            if(pw!=null) {
                pw.close();
            }
        }
        
    }
}
package properties;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Properties;
import java.util.Set;

public class Demo4 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定
         */
        Properties pro = new Properties();
        pro.setProperty("行者","武松");
        pro.setProperty("鼓上蚤","时迁");
        pro.setProperty("呼保义","宋江");
        PrintWriter pw = null;
        try {//这个就是输出到控制台
         pw = new PrintWriter("propertise1.txt");
         pro.list(pw);
         
        }catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            if(pw!=null) {
                pw.close();
            }
        }
        
    }
}
package properties;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

public class Demo5 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定
         */
        Properties pro = new Properties();
        FileReader fr = null;
        
    
        try {
            //实际项目中使用properties来存储数据,不用TXT
            fr = new FileReader("src/prop.properties");
            //把字符流数据读到pro对象中
            pro.load(fr);
            String name = pro.getProperty("zhangshan");
            String age = pro.getProperty("lisi");
            String gender = pro.getProperty("wangwu");
            /**
             * 输出的是键后面的东西,如果键后面有自己写的东西也会被读取出来
             */
            System.out.println(name);
            System.out.println(age);
            System.out.println(gender);
        }catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            if(fr!=null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
    }
}
package properties;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

public class Demo6 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定
         */
        Properties pro = new Properties();
        FileReader fr = null;
        
        /**
         * 就把Properties当成map    来使用就行了
         */
        try {
            fr = new FileReader("properties.txt");
            //把字符流数据读到pro对象中
            pro.load(fr);
            String name = pro.getProperty("行者");
            String age = pro.getProperty("鼓上蚤");
            String gender = pro.getProperty("呼保义");
            /**
             * 输出的是键后面的东西,如果键后面有自己写的东西也会被读取出来
             */
            System.out.println(name);
            System.out.println(age);
            System.out.println(gender);
        }catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            if(fr!=null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
    }
}
package properties;

import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class Demo7 {
    public static void main(String[] args) {
        
        /**
         * java.lang.Object
              继承者 java.util.Dictionary<K,V>
                  继承者 java.util.Hashtable<Object,Object>
                      继承者 java.util.Properties
        属性集类
         * 这个不用指定泛型以为API中就没有指定,这个就是只能用字符串。字符串就是指定的泛型
         */
        Properties pro = new Properties();
        /**
         * 就把Properties当成map来使用就行了
         */
        pro.setProperty("name", "zhangsan");
        pro.setProperty("age", "18");
        pro.setProperty("gender", "male");
        FileWriter fr = null;
        
    
        try {
            fr = new FileWriter("properties2.txt");
            //把字符流数据读到pro对象中
            pro.store(fr, null);
        }catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            if(fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
    }
}

 

以上是关于IO流properties的主要内容,如果未能解决你的问题,请参考以下文章

JAVA IO流相关代码(Properties类的常见方法与应用)

JAVA IO流相关代码(Properties类的常见方法与应用)

IO流(Properties存取配置文件).

Java IO流-Properties

IO流27 - properties集合

25_IO_第25天(Properties序列化流打印流CommonsIO)