Java基础》P305---P308

-----------------------------------------------------------------------------
package P305;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;

//点名器,已知有一文件,每一行都有一个名字,要求通过程序实现随机点名
/*
1.创建字符缓冲流输入对象
2.创建arraylist集合对象
3.调用字符缓冲输入流读取文件数据
4.将读取的数据添加到集合中
5.释放资源
6.random随机产生一个数字,范围在[0,集合长度]
7.讲随机数作为索引取得集合中的值
8.将67中获得的值输出在控制台
*/
public class Demo {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("D:\\itcast\\names.txt"));

ArrayList<String> array =new ArrayList<String>();

String line;
while((line=br.readLine())!=null){
array.add(line);
}
br.close();

Random r=new Random();
int index = r.nextInt(0, array.size());
String name = array.get(index);
System.out.println("幸运儿是:"+name);


}
}
--------------------------------------------------------------------
package P306;
//集合到文件,将arraylist 集合中的student数据写入到文件中
/*
1 创建学生类
2 创建arraylist集合
3 创建学生对象
4 集合中添加学生对象
5 创建字符缓冲输出流对象
6 创建string builder 对象sb
7 sb添加student数据
8 sb转换为字符串并用字符输出流写入文件中
9 刷新 释放资源
*/
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>arr=new ArrayList<Student>();
Student s1=new Student("heima001","水玲珑",18,"长安");
Student s2=new Student("heima002","王大锤",18,"80");
Student s3=new Student("heima003","邱淑贞",18,"乌鲁木齐");
Student s4=new Student("heima004","尹甜甜",20,"哈尔冰");
arr.add(s1);
arr.add(s2);
arr.add(s3);
arr.add(s4);

BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\itcast\\Student.txt"));
for(Student s:arr){
StringBuilder sb = new StringBuilder();
// sb.append(s.getSid()+s.getName()+s.getAge()+s.getAddress());
sb.append(s.getSid()).append(",").append(s.getName()).append(",").append(s.getAge()).append(",").append(s.getAddress()).append(".");
bw.write(sb.toString());
bw.newLine();
bw.flush();
}
bw.close();

}
}
-----------------------------------------------------------------------------------------------------------------------
package P307;
//文件到集合改进版
/*
1 定义学生类
2 创建字符缓冲输入流对象
3 创建arraylist 集合
4 字符缓冲输入流来获取文件数据
5 使用split获取学生的sid,name,age,address
6 arraylist添加学生对象
7 遍历arraylist集合中的数据
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

import static java.lang.Integer.parseInt;

public class TestDemo {
public static void main(String[] args) throws IOException {
BufferedReader bw=new BufferedReader(new FileReader("D:\\itcast\\Student.txt"));
ArrayList<Student> array=new ArrayList<Student>();

String str;
while((str=bw.readLine())!=null){
String[] strArray = str.split(",");
// heima001,水玲珑,18,长安.
Student s=new Student();

s.setSid(strArray[0]);
s.setName(strArray[1]);
s.setAge((Integer) parseInt(strArray[2]));
s.setAddress(strArray[3]);
array.add(s);
}
for(Student s:array){
System.out.println(s.getSid()+","+s.getName()+","+s.getAge()+","+s.getAddress());
}
bw.close();


}
}
----------------------------------------------------------------------------------------------











上一篇:【leet-code】219. 存在重复元素 II之Python enumerate() 函数


下一篇:【Java】StringBuilder类