JAVA 集合、Properties和I/O操作的结合

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

/*
* 把ArrayList集合中的字符串数据存储到文本文件中
* 每一个字符串元素作为文件中的一行数据
*
* 分析:
*1 创建集合元素
*2 往集合中添加字符串元素
* 3 创建字符缓冲流对象
* 4 遍历集合 得到每一个字符串元素 然后把每一个字符串元素作为数据写到文本文件中
* 5 释放资源
* */
public class ArrayListToFileTest {
    public static void main(String[] args) throws IOException {
        // 创建一个集合对象
        ArrayList<String> array = new ArrayList<String>();
        array.add("hello");
        array.add("world");
        array.add("java");
        BufferedWriter bw = new BufferedWriter(new FileWriter("array.txt"));
        //遍历集合 得到每一个字符串元素 然后把字符串元素作为数据写到文本文件
        for (int i = 0; i < array.size(); i++) {
            String s  = array.get(i);
            bw.write(s);
            bw.newLine();
            bw.flush();
        }
        bw.close();


    }
}
import java.util.Properties;
import java.util.Set;

/*
* Properties 实现了map接口 也可以使用map中的方法
* Properties 表示了一个持久的属性集 它的每一个键及其所对应的值都是String类型的,所以不需要使用泛型
* 构造方法:
*       Properties()
*
* */
public class PropertiesDemo {
    public static void main(String[] args) {
 //创建属性列表对象
        Properties prop = new Properties();
        //添加映射关系
        prop.put("201758503119","于振涛");
        prop.put("201758503120","李文奇");
        //遍历属性列表
        Set<Object> keys = prop.keySet(); //这里只能给object泛型
        for (Object key: keys) {
            Object value = prop.get(key);
            System.out.println(key+"="+value);
        }
    }
}
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;

/*
* Properties和IO流结合的功能:
* void list(PrintWriter out)
将此属性列表打印到指定的输出流。
void load(InputStream inStream)
从输入字节流读取属性列表(键和元素对)。
void store(OutputStream out, String comments)
将此属性列表(键和元素对)写入此 Properties表中,以适合于使用 load(InputStream)方法加载到 Properties表中的格式输出流。
*
* list和store:
* List只能接受打印流 store可以接受所有的输入流*/
public class PropertiesDemo2 {
    public static void main(String[] args) throws IOException {
        //往文件中写入键值对
        //创建属性列表对象
        Properties prop = new Properties();
        //添加映射关系
        prop.put("201758503119","yuzhentao");
        prop.put("201758503120","wangyongheng");
        prop.put("201758503118","liwenqi");
        //创建打印流对象
        PrintWriter pw = new PrintWriter("d.txt");
        prop.list(pw);
        //释放资源
        pw.close();


        //从文件中读取键值对
        //创建属性列表对象
        Properties prop2 = new Properties();
        //创建一个输入流对象
        FileReader fr = new FileReader("d.txt");
        prop2.load(fr);
        //释放资源
        fr.close();
        System.out.println(prop2);

        //创建属性列表对象
        Properties prop3 = new Properties();
        //添加映射关系
        prop3.put("201758503119","yuzhentao");
        prop3.put("201758503120","wangyongheng");
        prop3.put("201758503118","liwenqi");
        //创建打印流对象
        PrintWriter pw2 = new PrintWriter("e.txt");
        prop3.store(pw2,null); //后面的参数就是一个描述 随便给
        //释放资源
        pw2.close();


    }
}

猜你喜欢

转载自blog.csdn.net/yuzhentao123/article/details/88851195
今日推荐