本文主要是介绍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数据写入到文件中
/*
创建学生类
创建arraylist集合
创建学生对象
集合中添加学生对象
创建字符缓冲输出流对象
创建string builder 对象sb
sb添加student数据
sb转换为字符串并用字符输出流写入文件中
刷新 释放资源
*/
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;
//文件到集合改进版
/*
定义学生类
创建字符缓冲输入流对象
创建arraylist 集合
字符缓冲输入流来获取文件数据
使用split获取学生的sid,name,age,address
arraylist添加学生对象
遍历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();
}
}
----------------------------------------------------------------------------------------------
这篇关于Java基础》P305---P308的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!