• 简单的文件持久化技术


     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 }
  • 相关阅读:
    博弈知识汇总----Tanky Woo(转)
    Codeforces 742B Arpa’s obvious problem and Mehrdad’s terrible solution
    hdu 3068 最长回文(manacher算法)
    ASP.NET基础之HttpModule 、HttpContext、 HttpHandler
    DevExpress控件使用经验总结
    关于大数据比较好的归纳总结
    MVC路由中routes.IgnoreRoute("{resource}.axd/{*pathInfo}") 到底什么意思!
    HttpContext及HttpContext.current
    面试中遇到递归算法
    MVC的System.Web.Mvc.ViewPage小结
  • 原文地址:https://www.cnblogs.com/19322li/p/10688606.html
Copyright © 2020-2023  润新知