java中有关于属性(Properties)的操作

java中有关于属性(Properties)的操作的相关函数:

        1)、Properties p=newProperties();在进行操作之前首先得有一个属性对象。

        2)、p.load(new FileInputStream(“a.properties”));之后加载一个需要被操作的文件(被加载的文件如果不存在那么就new一个和加载文件名及类型一样的文件)。

        3)、可以使用getProperties()和setProperties()对属性进行操作。

        4)、在进行一系列的操作之后需要保留操作的内容否则无效p.store(new FileOutputStream(“a.properties”))

其代码如下:

@Test
	public void Demo1(){
		Properties p=new Properties();
		try {
			p.load(new FileInputStream("a.properties"));
			p.setProperty("dd", "23");
			p.setProperty("aa", "34");//若properties里面有就更改他的值
			p.getProperty("cc", "dd");//若properties里面有就返回对应的value没有就新设置一个key为c,value为dd的properties。
			p.store(new FileOutputStream("a.properties"), null);//需要将所有更改的信息重新放入文件中否则无效。
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}

自己通过代码建立一个属性表b.properties:

@Test
	public void Demo2(){
		Properties p=new Properties();
		try {
			p.setProperty("1"," a");
			p.setProperty("2", "b");
			p.setProperty("3", "c");
			p.setProperty("4", "b");
			File file=new File("b.properties");
			p.store(new FileOutputStream(file), "This comment is nill,over!");//列表属性的描述
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
	}

遍历b.properties属性表:其遍历的方式和Map的很像不过Map用的是iteration 而属性表用的是Enumeration。

@Test
	//遍历属性表
	public void Demo3(){
		Properties p=new Properties();
		try {
			p.load(new FileInputStream("b.properties"));
			Enumeration en=p.propertyNames();
			while(en.hasMoreElements()){
				String key=(String) en.nextElement();
				String value=p.getProperty(key);
				System.out.println(key+","+value);
				
			}	
			System.out.println("line.separator");//分割线。
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

猜你喜欢

转载自blog.csdn.net/e286878553/article/details/80687511