FileReader 和 FileWriter 是字符流,即按照字符来操作 I/O 。
image.png

示例代码

  1. import java.io.FileReader;
  2. import java.io.IOException;
  3. public class Main {
  4. public static void main(String[] args) {
  5. // readFile01();
  6. readFile02();
  7. }
  8. // 一次读取 1 个字符
  9. public static void readFile01() {
  10. String path = "./hello.txt";
  11. FileReader freader = null;
  12. int temp;
  13. try {
  14. freader = new FileReader(path);
  15. while ((temp = freader.read()) != -1) {
  16. System.out.print((char) temp);
  17. }
  18. } catch (IOException e) {
  19. e.printStackTrace();
  20. } finally {
  21. // 关闭流
  22. try {
  23. freader.close();
  24. } catch (IOException e) {
  25. e.printStackTrace();
  26. }
  27. }
  28. }
  29. // 一次读取 1024 个字符
  30. public static void readFile02() {
  31. String path = "./hello.txt";
  32. FileReader freader = null;
  33. int readLen = 0;
  34. char[] buffer = new char[1024];
  35. try {
  36. freader = new FileReader(path);
  37. while ((readLen = freader.read(buffer)) != -1) {
  38. System.out.print(new String(buffer, 0, readLen));
  39. }
  40. } catch (IOException e) {
  41. e.printStackTrace();
  42. } finally {
  43. // 关闭流
  44. try {
  45. freader.close();
  46. } catch (IOException e) {
  47. e.printStackTrace();
  48. }
  49. }
  50. }
  51. }