Java中IO流中所涉及到的各类方法介绍

 1 IO流之字节流
 2     (1)IO用于在设备间进行数据传输的操作    
 3     (2)分类:
 4         A:流向
 5             输入流    读取数据
 6             输出流    写出数据
 7         B:数据类型
 8             字节流    
 9                     字节输入流
10                     字节输出流
11             字符流
12                     字符输入流
13                     字符输出流
14         注意:
15             a:如果没有明确说明按照什么分,默认按照数据类型分。
16             b:除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流。
17     (3)FileOutputStream写出数据
18         A:操作步骤
19             a:创建字节输出流对象
20             b:调用write()方法
21             c:释放资源
22             
23         B:代码体现:
24             FileOutputStream fos = new FileOutputStream("fos.txt");
25             
26             fos.write("hello".getBytes());
27             
28             fos.close();
29             
30         C:要注意的问题?
31             a:创建字节输出流对象时,
32             1.直接调用系统的功能区创建文件2.创建fileoutputStream对象3.将该对象指向这个文件
33             
34             b:为什么要close()
35             首先是让流对象变成垃圾,这样就可以被垃圾回收器回收了,其次是通知系统区释放与该文件相关的资源
36             c:如何实现数据的换行
37             由于换行符也是可以读取的,因此一般是自动换行,
38             d:如何实现数据的追加写入
39             使用特殊的构造方法,将boolean append的参数写成true即可。
40     (4)FileInputStream读取数据
41         A:操作步骤
42             a:创建字节输入流对象
43             b:调用read()方法
44             c:释放资源
45             
46         B:代码体现:
47             FileInputStream fis = new FileInputStream("fos.txt");
48             
49             //方式1
50             int by = 0;
51             while((by = fis.read () ) != -1) {
52                 System.out.print((char) by);
53             }
54             
55             //方式2
56             byte[] bys = new byte [1024];
57             int len = 0;
58             while((len = fis.read(bys)) != -1) {
59                 System.out.print(new String(bys,0,len)); //注意此处在读取数据时打印的数据一定是最后一次读取
60                                     //到的数组的实际长度,每一次读取数据都是下一次的数组覆
61                                     //盖上一次的数组中对应位置的元素值
62             }
63             
64             fis.close();
65 
66 
67 
68 IO流之字节流
69             字符输入流
70                 基类:abstract Reader
71                     int read():一次读取一个字符    --->与上面的字节流操作一致
72                     int read(char[] chs):一次读取一个字符数组    --->与上面的字节流操作一致
73 
74             |--InputStreamReader 75 |
                            --FileReader这个是简化方式一般使用该类
                
                            76 |--BufferedReader

                            77 String readLine():一次读取一个字符串

   78 |--字符输出流 基类:Writer

80               void write(int ch):一次写一个字符

81               void write(char[] chs,int index,int len):一次写一个字符数组的一部分

82 83                       |--OutputStreamWriter

84                               |--FileWriter 由于该类名字简化一般直接使用该类

85                         |--BufferedWriter

86                          void newLine():写一个换行符

87                          void write(String line):一次写一个字符串
原文地址:https://www.cnblogs.com/fuck1/p/5342793.html