字符流实现文本和集合的转换

1.集合转文件

package day21_io.test.进阶操作;

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

/**
 * 需求:把ArrayList集合中的字符串数据存储到文本文件 
 * 
 *      分析: 通过题目的意思我们可以知道如下的一些内容,
 * 
 *         ArrayList集合里存储的是字符串。 
 *         遍历ArrayList集合,    把数据获取到。
 *         然后存储到文本文件中。 文本文件说明使用字符流。
 * 
 *     数据源: ArrayList<String> 
 *        -- 遍历得到每一个字符串数据 目的地: a.txt 
 *        -- FileWriter -- * BufferedWriter
 * 
 * @author chenwen
 *
 */
public class Test1 {

    public static void main(String[] args) throws IOException {
        // 封装数据源
        ArrayList<String> array = new ArrayList<String>();
        array.add("hello");
        array.add("world");
        array.add("IO");
        // 封装目的地
        BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
        for (String s : array) {
            bw.write(s);
            bw.newLine();
            bw.flush();
        }
        bw.close();
    }

}

2.文件转集合

package day21_io.test.进阶操作;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

/**
  * 需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合
 * 
 * 分析:
 *         通过题目的意思我们可以知道如下的一些内容,
 *             数据源是一个文本文件。
 *             目的地是一个集合。
 *             而且元素是字符串。
 * 
 * 数据源:
 *         b.txt -- FileReader -- BufferedReader
 * 目的地:
 *         ArrayList<String>
 * @author chenwen
 *
 */
public class Test2 {

    public static void main(String[] args) throws IOException {
//        封装数据源
        BufferedReader br =new BufferedReader(new FileReader("a.txt"));
//        封装目的地
        ArrayList<String> array = new ArrayList<String>(); 
        String line =null;
        while((line=br.readLine())!=null) {
            array.add(line);
        }
        br.close();
        for (String string : array) {
            System.out.println(string);
        }
        
    }

}
原文地址:https://www.cnblogs.com/csslcww/p/9179579.html