字符流_FileReader类

来源:互联网 发布:北京网络策划公司 编辑:程序博客网 时间:2024/06/16 06:09
字节流:字节流读取的是文件中的二进制数据,读到的数据并不会帮你转换成你看得懂的字符。
字符流:字符流会把读取到的二进制数据进行对应的编码与解码工作。   字符流 = 字节流 + 编码(解码)
输入字符流:
----------------| Reader 用于读取字符流的抽象类。
------------------------| FileReader 用于读取文件的输入字符流
FileReader的用法:
    1.找到目标文件 
    2.建立数据的输入通道
    3.读取文件数据
    4.关闭资源
  1. package com.cn.reader;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. /**
  7. * Author:Liu Zhiyong(QQ:1012421396)
  8. * Version:Version_1
  9. * Date:2016年7月27日18:49:14
  10. * Desc:
  11. 字节流:字节流读取的是文件中的二进制数据,读到的数据并不会帮你转换成你看得懂的字符。
  12. 字符流:字符流会把读取到的二进制数据进行对应的编码与解码工作。 字符流 = 字节流 + 编码(解码)
  13. 输入字符流:
  14. ----------------| Reader 用于读取字符流的抽象类。
  15. ------------------------| FileReader 用于读取文件的输入字符流
  16. FileReader的用法:
  17. 1.找到目标文件
  18. 2.建立数据的输入通道
  19. 3.读取文件数据
  20. 4.关闭资源
  21. */
  22. public class Demo2 {
  23. public static void main(String[] args) throws IOException {
  24. //readTest();
  25. readTest2();
  26. }
  27. //使用缓冲字符数组读取文件
  28. public static void readTest2() throws IOException{
  29. //1.找到目标文件
  30. File file = new File("F:/eclipseWorkspace20160629/20160629093238/src/com/cn/reader/Demo2.java");
  31. //2.建立数据的输入通道
  32. FileReader fileReader = new FileReader(file);
  33. //3.建立缓冲字符数组读取文件数据
  34. char[] buf = new char[1024];
  35. int length = 0;
  36. while((length = fileReader.read(buf)) != -1){
  37. System.out.print(new String(buf, 0, length));
  38. }
  39. //4.关闭资源
  40. fileReader.close();
  41. }
  42. public static void readTest() throws IOException{
  43. //1.找到目标文件
  44. File file = new File("F:/eclipseWorkspace20160629/20160629093238/src/com/cn/reader/Demo2.java");
  45. //2.建立数据的输入通道
  46. FileReader fileReader = new FileReader(file);
  47. //3.读取数据
  48. int content = 0;
  49. while((content = fileReader.read()) != -1){
  50. System.out.print((char)content);
  51. }
  52. //4.关闭资源
  53. fileReader.close();
  54. }
  55. }
0 0