zoukankan      html  css  js  c++  java
  • 简单的文件持久化技术

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.FileReader;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 import java.util.ArrayList;
     7 import java.util.Comparator;
     8 import java.util.List;
     9 
    10 import org.junit.Test;
    11 
    12 public class SaveInformation {
    13 //    学生信息存在集合中
    14 //把学生按照年龄降序存到文件中,并把信息取出来
    15     @Test
    16     public void writeIn() throws IOException {
    17         List<Student> students = new ArrayList<Student>();
    18         students.add(new Student(1, "小明", 15));
    19         students.add(new Student(2, "小胖", 17));
    20         students.add(new Student(3, "小红", 16));
    21 //        降序排序
    22         students.sort(new Comparator<Student>() {
    23             @Override
    24             public int compare(Student o1, Student o2) {
    25                 return o2.getAge() - o1.getAge();
    26             }
    27         });
    28 //        System.out.println(students);
    29 //        存储对象信息
    30         BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
    31 //        循环写
    32         for (Student stu : students) {// 得到每一个学生,接下来存放学生的信息,用分割符隔开存放
    33             bw.write(stu.getiD() + ",");
    34             bw.flush();
    35             bw.write(stu.getName() + ",");
    36             bw.flush();
    37             bw.write(stu.getAge() + "");
    38             bw.flush();
    39             bw.newLine();
    40         }
    41         bw.close();
    42 
    43     }
    44 
    45     @Test
    46     public void readIN() throws IOException {
    47         // 把学生信息读到控制台,需要一个集合装学生,还需要学生
    48         List<Student> students = new ArrayList<>();
    49 //        一行一行读取每个学生
    50 //        用流找到对应的字节
    51         BufferedReader br = new BufferedReader(new FileReader("b.txt"));
    52         String length = null;
    53         while ((length = br.readLine()) != null) { // 读到了数据,然后输出数据,字符串格式
    54 //            System.out.println(length);
    55             String[] stuInformation = length.split(",");// 分割后存放到学生集合中
    56 //            使用包装类把字符串转成integer类型,再自动拆箱
    57             students.add(new Student(Integer.parseInt(stuInformation[0]), stuInformation[1],
    58                     Integer.parseInt(stuInformation[2])));
    59         }
    60         br.close();
    61 //                验证信息
    62         for (Student stu : students) {
    63             System.out.println(stu.getAge());
    64         }
    65     }
    66 
    67 }
  • 相关阅读:
    2020杭电多校第二场 1006.The Oculus
    2020杭电多校第一场 1005.Fibonacci Sum
    数论——中国剩余定理
    数论——线性同余方程
    数论——乘法逆元
    数论——裴蜀定理
    javascript预解析和作用域
    数组的排序..........加深难度
    值类型和引用类型
    js中的==和===
  • 原文地址:https://www.cnblogs.com/19322li/p/10688606.html
Copyright © 2011-2022 走看看