Java基础》P305---P308

2022/1/6 20:04:53

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程