zoukankan      html  css  js  c++  java
  • Properties的用法

    package test;
     
     
    import java.io.*;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.*;
    import java.util.zip.InflaterInputStream;
     
    import javax.annotation.processing.FilerException;
     
    import privateclass.Filterby_Name;
    import privateclass.Filterby_hidden;
    import privateclass.Filterby_java;
    import privateclass.MyBufferedReader;
     
    public class Main {
     
        private static final String space_operator = " ";
        private static final double pi = Math.PI;
        private static final String LINE_SEPARATOR = System.getProperty("line.separator");
        public static void main(String[] args) throws Exception {
     
        	/*
        	 * 他是hashtable的小弟和Map的用法基本相同
        	 * 它会和io流技术相结合
        	 * 用来存取键值对构造配置信息
        	 * 
        	 */
           Properties pt = new Properties();
           pt.setProperty("zhangsan", "30");
           pt.setProperty("zishou", "26");
           pt.setProperty("fengxing", "304");
           pt.setProperty("ziran", "305");
           pt.setProperty("tiexin", "80");
           
           //键存的内容的覆盖
           pt.setProperty("tiexin", "86");
           
           /**
            * 随时知道在Properties集合里面有什么内容
            * 但是不可以修
            */
           pt.list(System.out);
           
           //获取系统信息
           Properties ps = System.getProperties();
           ps.list(System.out);
           System.out.println();
           
           /*
            * 打印pt的信息
           for(String name: pt.stringPropertyNames())
           {
        	   System.out.println(name + ":  " + pt.getProperty(name));
           }
           */
           
           //存储pt的信息到一个文件里面
           FileOutputStream fos = new FileOutputStream("姓名+年龄.txt");
           //comments(第二个键)是在文件里面标志信息  添加中文是Unicode因此不建议用
           pt.store(fos, "name + age");
           
           fos.close();
           
           pt.clear();
           pt.list(System.out);
           FileInputStream fis = new FileInputStream("姓名+年龄.txt");
           //拿到配置信息
           pt.load(fis);
           pt.list(System.out);
           System.out.println();
           
           //对load的自我实现
           Myload();
           System.out.println();
           //键值对的修改
           mkdixproper();
           fis.close();
           fos.close();
           
        }
        /**
    	 * 实现对文件里面的键值对的修改
         * @throws IOException 
    	 */
        public static void mkdixproper() throws IOException {
        	File file = new File("姓名+年龄.txt");
        	//当writer在这里的时候一定要加上true表示这个文件存在
        	//FileWriter fw = new FileWriter(file,true);
        	
        	if(!file.exists())file.createNewFile();
        	//经过前面的步骤我们打开的文件一定是存在的
    		FileReader fr = new FileReader(file);
    		
    		Properties prop = new Properties();
    		prop.load(fr);
    		
    		//当放在这里的时候我们就不需要加上true
    		FileWriter fw = new FileWriter(file);
    		prop.list(System.out);
    		prop.setProperty("tiexin", "36");
    		
    		//注意这里面的store是将文件里面的东西全部删除后再保存的
    		prop.store(fw, "naem + age");
    		System.out.println();
    		prop.list(System.out);
    		fr.close();
    		fw.close();
    		
    	}
    	/**
         * 实现对Properties里面的load实现
         * 直接用split实现
         * 但是要注意load的信息里面必须是键值对
         * @throws IOException
         */
    	public static void Myload() throws IOException  {
    		BufferedReader bfr = new BufferedReader(new FileReader("姓名+年龄.txt"));
    		
    		Properties pt = new Properties();
    		String string = null;
    		while((string = bfr.readLine()) != null)
    		{
    			if(string.startsWith("#"))
    			continue;
    			String [] a = string.split("=");
    			pt.setProperty(a[0], a[1]);
    		}
    		pt.list(System.out);
    		bfr.close();
    	}
    	
    	
    }
    

      

  • 相关阅读:
    过河卒 NOIp 2002 dp
    [POI2014]KUR-Couriers BZOJ3524 主席树
    【模板】可持久化线段树 1(主席树)
    EXPEDI
    取石子游戏 BZOJ1874 博弈
    【模板】文艺平衡树(Splay) 区间翻转 BZOJ 3223
    关于表白
    POJ 1951
    Codeforces 1032F Vasya and Maximum Matching dp
    Codeforces 1016F Road Projects
  • 原文地址:https://www.cnblogs.com/WINDZLY/p/11823198.html
Copyright © 2011-2022 走看看