有时候,我们会遇到单独写入数据到文本文件的情况。比如:
需求:把ArrayList集合中的字符串数据存储到文本文件
分析:
A:ArrayList集合中存储的是String类
B:要存储的文件是文本文件,所以用字符流,为了快速,用缓冲字符流A
数据源:
ArrayList ----- 遍历集合,得到数据
目的地:
c.txt ------ FileWriter ------ BufferedWriter
1 public static void main(String[] args) throwsIOException {2 //封装数据(创建集合对象)
3 ArrayList arry = newArrayList();4 //添加数据
5 arry.add("我");6 arry.add("要");7 arry.add("睡觉。。");8
9 //封装目的地
10 BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt"));11 String line = null;12 int len = 0;13 //遍历数组,写入数据到目的地
14 for(String s : arry){15 bw.write(s);16 bw.newLine();17 bw.flush();18 }19 bw.close();20
21 }
同样,有时候我们需要从文本文件中提取里面的数据,并存储到集合中:
需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合
分析:
A:从文本文件中读取数据,则用缓冲字符输入流 BufferReader
B:因为为了快速,使用的是每一行为一个字符串数据的读取方式,所以集合类型为String类的
数据源:
copy.txt -- FileReader -- BufferedReader
目的地:
ArrayList
1 public static void main(String[] args) throwsIOException {2 //封装数据源
3 BufferedReader br = new BufferedReader(new FileReader("copy.txt"));4 //封装目的地(创建集合)
5 ArrayList arry = newArrayList();6 //从数据源中读取数据,并把数据写入集合中
7 String line = null;8 while((line = br.readLine()) != null){9 arry.add(line);10 }11 br.close();12
13 //遍历数组
14 for(String s : arry){15 System.out.println(s);16 }17
18 }
原文:http://www.cnblogs.com/LZL-student/p/5926623.html