IO流_集合写到文件

需求:把ArrayList集合中的字符串数据写入到文本文件 要求:每一个字符串元素作为文件中的一行数据

思路: 1、创建ArrayList集合 2、往集合中存储字符串元素 3、创建字符缓冲输出流对象 4、遍历集合,得到每一个字符串数据 5、调用字符缓冲输出流对象的方法写数据 6、释放资源

 

IO流_集合写到文件的练习

 

IO流_文件写到集合

需求:把文本文件中的数据读取到集合中,并遍历集合 要求:文件中每一行数据是一个集合元素,即我们要使用BufferedReader类的特有方法,即public String readLine():读一行文字,即字符缓冲输入流对象

思路: 1、创建字符缓冲输入流对象 2、创建ArrayList集合对象 3、调用字符缓冲输入流对象的方法读数据 4、把读取到的字符串数据存储到集合中 5、释放资源 6、遍历集合

 

IO流_文件写到集合的练习

 

IO流集合到文件改进版

需求:把ArrayList集合中的学生数据写入到文本文件 要求:每一个学生对象的数据作为文件中的一行数据 格式:学号,姓名,年龄,居住地 举例:std001,张三,18,厦门 改进的地方:之前ArrayList集合中存储的是字符串数据,现在ArrayList集合中存储的是学生对象数据

思路: 1、定义学生类 2、创建ArrayList集合 3、创建学生对象 4、把学生对象添加到集合中 5、创建字符缓冲输出流对象 6、遍历集合,得到每一个学生对象 7、把学生对象的数据拼接成指定格式的字符串 8、调用字符缓冲输出流对象的方法写数据 9、释放资源

 

IO流集合到文件改进版的练习

 

IO流文件到集合改进版

需求:把文本文件中的数据读取到集合中,并遍历集合 要求:文件中每一行数据是一个学生对象的成员变量值 举例:std001,张三,18,厦门 。注意这里的数据都是用逗号分割的,所以我们需要用split方法进行分割 改进的地方:之前ArrayList集合中存储的是字符串数据,现在ArrayList集合中存储的是学生对象数据

思路: 1、定义学生类 2、创建字符缓冲输入流对象 3、创建ArrayList集合对象 4、调用字符缓冲输入流对象的方法读数据 5、把读取到的字符串数据用split()进行分割,得到一个字符串数组 6、创建学生对象 7、把字符串数组中的每一个元素取出来,对应地赋值给学生对象的成员变量值 8、把学生对象添加到集合 9、释放资源 10、遍历集合

 

IO流文件到集合改进版的练习

 

点名器案例

案例:点名器 需求:有一个文件里面存储了班级同学的姓名,每一个姓名占一行 要求:通过程序实现随机点名器

思路: 1、创建字符缓冲输入流对象 2、创建ArrayList集合对象 3、调用字符缓冲输入流对象的方法读数据 4、把读取到的字符串数据存储到集合中 5、释放资源 6、使用Random产生一个随机数,随机数的范围在:[0,集合的长度) 7、把第6步产生的随机数作为索引到ArrayList集合中获取值 8、把第7步得到的数据输出在控制台

 

点名器案例的练习

 

IO流集合到文件数据排序改进版

需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩) 要求:按照成绩总分从高到低写入文本文件。排序那就用TreeSet集合 格式:姓名,语文成绩,数学成绩,英语成绩 举例:张三,90,91,92

思路: 1、定义学生类 2、创建TreeSet集合,通过比较器排序进行排序 3、键盘录入学生数据 4、创建学生对象,把键盘录入的数据对应赋值给学生对象的成员变量 5、把学生对象添加到TreeSet集合 6、创建字符缓冲输出流对象 7、遍历集合,得到每一个学生对象 8、把学生对象的数据拼接成指定格式的字符串 9、调用字符缓冲输出流对象的方法写数据 10、释放资源

 

IO流集合到文件数据排序改进版的练习