1. FileReader

1.1 方法1: 每次读一个字符

  1. public class FileObj {
  2. /** 步骤:
  3. * 1. 实例化文件,指明此文件是被操作的对象
  4. * 2. 提供具体的流,流作用于文件之上
  5. * 3. 读取流中的数据
  6. 4. 流的关闭操作!
  7. */
  8. @Test
  9. @Test
  10. public void test() throws IOException {
  11. File file = new File("E:\\helloTestIO\\hello.txt");
  12. FileReader fileReader = new FileReader(file);
  13. char[] chars = new char[(int) file.length()];
  14. // The number of characters read, or -1
  15. // * if the end of the stream
  16. // * has been reached
  17. int data ;
  18. while ((data= fileReader.read()) != -1) {
  19. System.out.println((char) data);
  20. }
  21. try{
  22. if(fileReader!=null){
  23. fileReader.close();
  24. }
  25. } catch (IOException e) {
  26. e.printStackTrace();
  27. }
  28. }

image.png

1.2 方法2: 每次读限定长度的字符个数

  1. /** 对read()操作升级,使用read的重载方法:
  2. 1. File类的实例化
  3. 2. fileReader流的实例化
  4. 3. 读入的操作细节/写出的操作
  5. 4. 资源的关闭
  6. */
  7. @Test
  8. public void test2() {
  9. FileReader fileReader = null;
  10. try {
  11. File file = new File("E:\\helloTestIO\\hello.txt");
  12. fileReader = new FileReader(file);
  13. // 限定每次读的字符数量
  14. char[] chars = new char[1024];
  15. /*The number of characters read, or -1
  16. * if the end of the stream
  17. * has been reached*/
  18. int len;
  19. while ((len = fileReader.read(chars)) != -1) {
  20. for (int i = 0; i < len; i++) {
  21. System.out.print(chars[i]);
  22. }
  23. }
  24. } catch (IOException e) {
  25. e.printStackTrace();
  26. } finally {
  27. if (fileReader != null) {
  28. try {
  29. fileReader.close();
  30. } catch (IOException e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }
  35. ;
  36. }

image.png

2. FileWriter

2.1 分批写入数据

  1. /**
  2. * 特点:
  3. * 1. 如果file不存在,则会自动创建
  4. * 1. 如果存在,会覆盖原文件;
  5. * 2. 不同次数的写,会换行;
  6. * 步骤:
  7. * 1. 指定写出文件对象
  8. * 2. 提供Filewriter实例,用于数据的写出
  9. * 3. 写出的操作
  10. * 4. 关闭流
  11. */
  12. @Test
  13. public void test3() throws IOException {
  14. File file = new File("hello.txt");
  15. FileWriter fileWriter = new FileWriter(file,true);
  16. fileWriter.write("I have a dream!");
  17. fileWriter.write("you need a dream!");
  18. fileWriter.close();
  19. }