IO流中的Properties集合Demo
有兴趣的同学可以参考一下
代码如下:
package com.xuan.chan;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
/**
* @author Administrator
*
*/
public class PropertiesDemo {
管道流 --Map---HashTable--properties(该集合的数据可以保存到流中,可以从流中读取)
操作键值对的,
public static void main(String[] args) throws IOException{
System.out.println("程序入口");
//methodDemo1();
//methodDmoe2();
//methodDemo3();
//methodDemo4();
filetest();
}
private static void filetest() throws IOException, FileNotFoundException {
///对已有的文件信息进行修改
///读取文件
java.io.File file =new java.io.File("xuan.txt");
if(!file.exists()){
file.createNewFile();
}
FileReader fr=new FileReader(file);
///创建集合
Properties properties=new Properties();
///将流中的信息加载到集合中
properties.load(fr);
///修改数据
properties.setProperty("wangwu", "112");
///保存到文件
FileWriter fw=new FileWriter(file);
properties.store(fw, "chan-age");
///打印
properties.list(System.out);
fw.close();
fr.close();
}
private static void methodDemo4() throws FileNotFoundException, IOException {
///集合的数据来自文件,不是用户输入的
Properties prop=new Properties();
///没有明确路径只有文件名,文件在与src文件夹同一级目录下
///把文件的内容读取到流中
FileInputStream fis=new FileInputStream("xuan.txt");
///把流中的数据加载到集合中
prop.load(fis);
prop.list(System.out);//输出集合中的数据
fis.close();
}
private static void methodDemo3() throws FileNotFoundException, IOException {
Properties prop=new Properties();
把值存储进管道流
prop.setProperty("小妹", "22");
prop.setProperty("zhangsan", "23");
prop.setProperty("wangwu", "24");
prop.setProperty("lisi", "22");
prop.setProperty("lisi", "21");
///没有明确路径只有文件名,文件在与src文件夹同一级目录下
FileOutputStream fos=new FileOutputStream("xuan.txt");
///将集合的数据存储到文件中
prop.store(fos, "name+age");
fos.close();
}
private static void methodDmoe2() {
Properties prop=new Properties();
把值存储进管道流
prop.setProperty("小妹", "22");
prop.setProperty("zhangsan", "23");
prop.setProperty("wangwu", "24");
prop.setProperty("lisi", "22");
prop.setProperty("lisi", "21");
///获取管道的信息
//prop=System.getProperties();
///取出元素
prop.list(System.out);
}
private static void methodDemo1() {
Properties prop=new Properties();
把值存储进管道流
prop.setProperty("小妹", "22");
prop.setProperty("zhangsan", "23");
prop.setProperty("wangwu", "24");
prop.setProperty("lisi", "22");
prop.setProperty("lisi", "21");
///修改元素
取出元素
Set<String> namelist=prop.stringPropertyNames();
///打印所有在管道流的键值对
for(String key : namelist){
//System.out.println("jianzhidui");
String value=prop.getProperty(key);
System.out.println("====="+key+"======"+value);
}
}
}
运行效果: