public void readLine() - 读取一行,读到末尾的时候返回null

    1. package Test21_Demo.Demo03;/*
    2. @create 2020--12--14--9:30
    3. */
    4. import javax.annotation.processing.Filer;
    5. import java.io.*;
    6. import java.util.ArrayList;
    7. import java.util.Collections;
    8. /**
    9. *
    10. * 将test4.txt中的所有名称进行读取,并且倒序输入到test4.txt中
    11. *
    12. * 步骤:
    13. * 1.定义一个集合存储名字 - ArrayList<String>
    14. * 2.使用高级流对象,一次读取一行
    15. * 3.将读取的名字放到集合中
    16. * 4.使用工具类中的反排序方法 - 反转 - reverse
    17. * 5.使用高级流一次写出一个名字
    18. */
    19. public class test {
    20. public static void main(String[] args) throws IOException {
    21. FileReader fr = new FileReader("test4.txt");
    22. BufferedReader br = new BufferedReader(fr);
    23. String str = null;
    24. ArrayList<String> list = new ArrayList<>();
    25. while ((str = br.readLine()) != null) {
    26. //System.out.println(br);
    27. list.add(str);
    28. }
    29. //使用工具类中的反排序方法 - 反转 - reverse
    30. //System.out.println(list);
    31. br.close();
    32. Collections.reverse(list);
    33. FileWriter fw = new FileWriter("test4.txt");
    34. BufferedWriter bw = new BufferedWriter(fw);
    35. for (String s : list) {
    36. bw.write(s);
    37. bw.newLine();
    38. System.out.println(s);
    39. }
    40. bw.close();
    41. }
    42. }