Java中Properties和文件流使用实例

Propert常见方法:

package day22_IO;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Properties;

/*
 * 这里的集合必须是Properties集合:
 *  public void load(Reader reader):把文件中的数据读取到集合中
 *  public void store(Writer writer,String comments):把集合中的数据存储到文件
 * 
 * 特殊功能:
 *  public Object setProperty(String key,String value):添加元素
 *  public String getProperty(String key):获取元素
 *  public Set<String> stringPropertyNames():获取所有的键集合
 * 
 * */
public class PropertiesDemo {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        myLoad();

        myStore();
    }

    private static void myStore() throws IOException {
        // TODO Auto-generated method stub
        //创建集合对象
        Properties prop = new  Properties();

        prop.setProperty("林青霞", "27");
        prop.setProperty("武松", "22");

        //public void store(Writer writer,String comments):把集合中的数据存储到文件
        Writer w = new FileWriter("name.txt");
        prop.store(w, "helloworld");
        w.close();

    }

    private static void myLoad() throws IOException {
        // TODO Auto-generated method stub
        //创建对象
        Properties prop = new Properties();
        //public void load(Reader reader):把文件中的数据读取到集合中
        //注意:这个文件必须是键值对形式
        Reader r = new FileReader("prop.txt");

        prop.load(r);
        r.close();

        System.out.println("prop:"+prop);
    }
}

Properties使用实例:

package day22_IO;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Enumeration;
import java.util.Properties;
import java.util.Set;

/*
 * 需求:我有一个文本文件(user.txt),我知道数据是键值对形式存储的,但是不知道内容是什么?
 *      请编写一个程序判断是否有"李四"这样的键存在,如果有就将其值改变其为"100"
 * 
 * 分析:
 *      A:把文件中的数据加载到集合中
 *      B:遍历集合,获取得到没一个键
 *      C:判断该键是否为目标值,如果是就将其修改
 *      D:把集合的数据重新存储到文件中
 * */
public class PropertiseTest {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        //把文件中的数据加载到集合中
        Properties prop = new Properties();
        Reader r = new FileReader("name.txt");

        prop.load(r);//加载
        r.close();

        //遍历集合,获取得到每一个键
        Set<String> set = prop.stringPropertyNames();
        for(String key:set){
            if(key.equals("李四")){
                prop.setProperty(key, "100");
                break;
            }
        }
        //重新存储文件
        Writer w = new FileWriter("name.txt");
        prop.store(w, null);

        w.close();  
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值