Java基础知识强化之IO流笔记47:IO流练习之 随机获取文本文件中的姓名案例
1. 随机获取文本文件中的姓名案例
需求:我有一个文本文件中存储了几个名称,请大家写一个程序实现随机获取一个人的名字。
分析:
A: 把文本文件中的数据存储到集合中
B: 随机产生一个索引
C: 根据该索引获取一个值
2. 代码实现:
1 package cn.itcast_02; 2 3 import java.io.BufferedReader; 4 import java.io.FileReader; 5 import java.io.IOException; 6 import java.util.ArrayList; 7 import java.util.Random; 8 9 /* 10 * 需求:我有一个文本文件中存储了几个名称,请大家写一个程序实现随机获取一个人的名字。 11 * 12 * 分析: 13 * A:把文本文件中的数据存储到集合中 14 * B:随机产生一个索引 15 * C:根据该索引获取一个值 16 */ 17 public class GetName { 18 public static void main(String[] args) throws IOException { 19 // 把文本文件中的数据存储到集合中 20 BufferedReader br = new BufferedReader(new FileReader("b.txt")); 21 ArrayList<String> array = new ArrayList<String>(); 22 String line = null; 23 while ((line = br.readLine()) != null) { 24 array.add(line); 25 } 26 br.close(); 27 28 // 随机产生一个索引 29 Random r = new Random(); 30 int index = r.nextInt(array.size()); // 0 <= index <= array.size()-1 31 32 // 根据该索引获取一个值 33 String name = array.get(index); 34 System.out.println("该幸运者是:" + name); 35 } 36 }
运行效果是: