目录
案例:集合到文件
需求:把ArrayList集合中的字符串数据写入到文本文件。要求:每一个字符串元素作为文件中的一行数据
思路:
1 创建ArrayList集合
2往集合中存储字符串元素
3 创建字符缓冲输出流对象
4 遍历集合,得到每一个字符串数据
5 调用字符缓冲输出流对象的方法写数据
6释放资源package zyy07; import java.io.*; import java.util.ArrayList; public class Demo { public static void main(String[] args) throws IOException { //创建集合 ArrayList<String> array=new ArrayList<>(); //添加元素 array.add("zyy"); array.add("yyz"); array.add("yyz"); //创建字符缓冲输出流对象 BufferedWriter bw=new BufferedWriter(new FileWriter("E:\\IdeaProject\\JavaSE_Code\\practise\\bw.txt")); //遍历集合 for(String s:array){ //调用字符缓冲流对象的方法写数据 bw.write(s); bw.newLine(); bw.flush(); } //释放资源 bw.flush(); } }
案例:文件到集合
需求:把文本文件中的数据读取到集合中,并遍历集合。要求:文件中每一行数据是一个集合元素
思路:
创建字符缓冲输入流对象创建ArrayList集合对象
调用字符缓冲输入流对象的方法读数据把读取到的字符串数据存储到集合中
释放资源
遍历集合
package zyy07; import java.io.*; import java.util.ArrayList; public class Demo { public static void main(String[] args) throws IOException { //创建字符缓冲输入流对象 BufferedReader br=new BufferedReader(new FileReader("E:\\IdeaProject\\JavaSE_Code\\practise\\bw.txt")); //创建集合 ArrayList<String> array=new ArrayList<>(); //调节字符缓冲输入流对象的方法读数据 String line; while((line=br.readLine())!=null){ //存到集合 array.add(line); } //释放资源 br.close(); //遍历集合 for(String s:array){ System.out.println(s); } } }
案例:点名器
需求:我有一个文件里面存储了班级同学的姓名,每一个姓名占一行,要求通过程序实现随机点名器
思路:
创建字符缓冲输入流对象创建ArrayList集合对象
调用字符缓冲输入流对象的方法读数据把读取到的字符串数据存储到集合中
释放资源
使用Random产生一个随机数,随机数的范围在:[0集合的长度】把第6步产生的随机数作为索引到ArrayList集合中获取值
把第7步得到的数据输出在控制台
package zyy07; import java.io.*; import java.util.ArrayList; import java.util.Random; public class Demo { public static void main(String[] args) throws IOException { //创建字符缓冲输入流对象 BufferedReader br = new BufferedReader(new FileReader("E:\\IdeaProject\\JavaSE_Code\\practise\\bw.txt")); //创建集合 ArrayList<String> array = new ArrayList<>(); //调节字符缓冲输入流对象的方法读数据 String line; while ((line = br.readLine()) != null) { //存到集合 array.add(line); } //释放资源 br.close(); //使用random产生一个随机数 Random r = new Random(); int i = r.nextInt(array.size()); //把第六步产生的随机数作为索引到ArrayList集合中获得值 String name = array.get(i); //输出 System.out.println("幸运者是:" + name); } }