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

时间:2022-07-23 12:07:59
 IO流之字节流
(1)IO用于在设备间进行数据传输的操作
(2)分类:
A:流向
输入流 读取数据
输出流 写出数据
B:数据类型
字节流
字节输入流
字节输出流
字符流
字符输入流
字符输出流
注意:
a:如果没有明确说明按照什么分,默认按照数据类型分。
b:除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流。
(3)FileOutputStream写出数据
A:操作步骤
a:创建字节输出流对象
b:调用write()方法
c:释放资源 B:代码体现:
FileOutputStream fos = new FileOutputStream("fos.txt"); fos.write("hello".getBytes()); fos.close(); C:要注意的问题?
a:创建字节输出流对象时,
1.直接调用系统的功能区创建文件2.创建fileoutputStream对象3.将该对象指向这个文件 b:为什么要close()
首先是让流对象变成垃圾,这样就可以被垃圾回收器回收了,其次是通知系统区释放与该文件相关的资源
c:如何实现数据的换行
由于换行符也是可以读取的,因此一般是自动换行,
d:如何实现数据的追加写入
使用特殊的构造方法,将boolean append的参数写成true即可。
(4)FileInputStream读取数据
A:操作步骤
a:创建字节输入流对象
b:调用read()方法
c:释放资源 B:代码体现:
FileInputStream fis = new FileInputStream("fos.txt"); //方式1
int by = 0;
while((by = fis.read () ) != -1) {
System.out.print((char) by);
} //方式2
byte[] bys = new byte [1024];
int len = 0;
while((len = fis.read(bys)) != -1) {
System.out.print(new String(bys,0,len)); //注意此处在读取数据时打印的数据一定是最后一次读取
//到的数组的实际长度,每一次读取数据都是下一次的数组覆
//盖上一次的数组中对应位置的元素值
} fis.close(); IO流之字节流
字符输入流
基类:abstract Reader
int read():一次读取一个字符 --->与上面的字节流操作一致
int read(char[] chs):一次读取一个字符数组 --->与上面的字节流操作一致
             |--InputStreamReader  |
                            --FileReader这个是简化方式一般使用该类
                
                            76 |--BufferedReader                             77 String readLine():一次读取一个字符串    78 |--字符输出流 基类:Writer               void write(int ch):一次写一个字符               void write(char[] chs,int index,int len):一次写一个字符数组的一部分 83                       |--OutputStreamWriter                               |--FileWriter 由于该类名字简化一般直接使用该类                         |--BufferedWriter                          void newLine():写一个换行符 87                          void write(String line):一次写一个字符串