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); } } }