Java——字符缓冲流练习之集合到文件、文件到集合、点名器
一、集合到文件(集合中的数据是字符串)
1、需求
把ArrayList集合中的字符串数据写入到文本文件,要求每一个字符串元素作为文件中的一行数据
2、思路
- 创建ArrayList集合
- 往集合里存储字符串元素
- 创建字符缓冲输出流对象
- 遍历集合,得到每一个字符串数据
- 调用字符缓冲输出流对象的方法写数据
- 释放资源
3、代码实现
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class Demo1 {
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("ZiFuLiu\\array.txt"));
for (String arr:array){
bw.write(arr);
bw.newLine();
bw.flush();
}
bw.close();
}
}
二、集合到文件(集合中的数据是学生对象)
1、需求
把ArrayList集合中的学生数据写入到文本文件,要求每一个学生对象的数据作为文件中的一行数据
格式:学号,姓名,年龄,居住地
2、思路
- 定义学生类
- 创建ArrayList集合
- 创建学生对象
- 把学生对象添加到集合中
- 创建字符缓冲输出流对象
- 遍历集合,得到每一个学生对象
- 将学生对象的数据拼接成指定格式的字符串
- 调用字符缓冲输出流对象的方法写数据
- 释放资源
3、代码实现
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) throws IOException {
ArrayList<Student> array = new ArrayList<Student>();
Student s1 = new Student("001", "zlx", 18, "天津");
Student s2 = new Student("002", "dfv", 13, "北京");
Student s3 = new Student("003", "vgb", 25, "深圳");
Student s4 = new Student("004", "huj", 24, "上海");
array.add(s1);
array.add(s2);
array.add(s3)