java 21 - 10 文本文件和集合之间互相存储数据

有时候,我们会遇到单独写入数据到文本文件的情况。比如:

   需求:把ArrayList集合中的字符串数据存储到文本文件

   分析:

      A:ArrayList集合中存储的是String类

      B:要存储的文件是文本文件,所以用字符流,为了快速,用缓冲字符流A

   数据源:

      ArrayList<String>  -----  遍历集合,得到数据

     目的地:

      c.txt  ------  FileWriter  ------ BufferedWriter

     public static void main(String[] args) throws IOException {
// 封装数据(创建集合对象)
ArrayList<String> arry = new ArrayList();
//添加数据
arry.add("我");
arry.add("要");
arry.add("睡觉。。"); //封装目的地
BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt"));
String line = null;
int len = 0;
//遍历数组,写入数据到目的地
for(String s : arry){
bw.write(s);
bw.newLine();
bw.flush();
}
bw.close(); }

同样,有时候我们需要从文本文件中提取里面的数据,并存储到集合中:

  需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合

  分析:

    A:从文本文件中读取数据,则用缓冲字符输入流 BufferReader

    B:因为为了快速,使用的是每一行为一个字符串数据的读取方式,所以集合类型为String类的

  数据源:
      copy.txt -- FileReader -- BufferedReader
    目的地:
      ArrayList<String>

 public static void main(String[] args) throws IOException {
// 封装数据源
BufferedReader br = new BufferedReader(new FileReader("copy.txt"));
// 封装目的地(创建集合)
ArrayList<String> arry = new ArrayList();
//从数据源中读取数据,并把数据写入集合中
String line = null;
while((line = br.readLine()) != null){
arry.add(line);
}
br.close(); //遍历数组
for(String s : arry){
System.out.println(s);
} }
上一篇:Makefile 中all 和.PHONY的作用


下一篇:jQuery 实现的瀑布流