1 /**
 2 解决数据与数据之间的传输问题。
 3 字节流:
 4 输入字节流:
 5 -------| InputStream 所有输入字节流的基类。抽象类。
 6 -----------| FileInputStream 读取文件的输入字节流。
 7 -----------| BufferedInputStream 缓冲输入字符的字节流 该类内部 维护了一个8kb的字节数组。该类出现的目的 是为了提高读取文件数据的效率。
 8 
 9 输出字节流:
10 -------| OutputStream 所有输出字节流的基类。抽象类。
11 -----------| FileOutputStream 向文件输出数据 的输出字节流。
12 -----------| BufferedOutputStream 缓冲输出字节流,为了提高写入文件的效率。类内部也是维护了一个8kb的字节数组。
13 
14 什么情况使用字节流?
15 字节流都是为了读取到2进制的数据。
16 读取到的数据 不需要经过编码 解码的情况下, 可以使用字节流 such as: 图片数据 图片数据 不需要变成我们可以读懂的字符流。不需要进过解码
17 如果读到的数据 需要转换成 我们读的懂的字 那就必须要转换成字符流
18 字符流=字节流+编码(解码)
19 
20 
21 字符流:
22 输入字符流:
23 -------| Reader 所有输入字符流的基类。抽象类。不可以直接使用
24 -----------| FileReader 读取文件字符的输入字符流
25 -----------| BufferedReader 缓冲输入字符流 该类出现的目的 是为了提高读取文件字符的效率。内部是维护了一个8192个长度字符数组。除了提高效率,并且还拓展了功能, 多了个readline()的功能
26 
27 输出字符流:
28 -------| Writer 所有输出字符流的基类。抽象类
29 -----------| FileWriter 向文件输出字符数据的输出字符流。
30 -----------|BufferedWriter 缓冲输出字符流。为了提高写入文件的效率和拓展了功能newline()
31 
32 什么时候用到字符流呢?
33 读取到的字节数据需要被转换成字符数据,这时候我们就使用字符流,如果是读写的都是字符数据这时候我们需要用字符流。
34 
35 
36 转换流:
37 -------|InputStreamReader 输入字节流的转换流。可以吧一个输入字节流 转换成输入字符流,(前面字节,后面字符)
38 -------|OutputStreamReader 输出字节流的转换流
39 
40 转换流的作用:
41   1.可以吧对应的字节流转换成字符流使用。
42   2.
43 
44  */
45 public class demo1 {
46     public static void main(String[] args) throws Exception {
47         testInput();
48     }
49     public static void testInput() throws Exception{
50         
51         //标准输入流,默认读取控制台。用in来读控制台的内容
52         InputStream in = System.in;
53         int read = in.read();
54         System.out.println(read);
55     }
56 }

 该demo输出的是字节流

abc
97
View Code

相关文章:

  • 2018-08-23
  • 2021-11-06
  • 2021-09-13
  • 2021-04-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-26
  • 2021-09-06
  • 2021-07-18
  • 2022-12-23
  • 2021-06-14
  • 2022-01-13
  • 2021-10-15
相关资源
相似解决方案