创建流的作用:
A:调用系统功能去创建文件
B:创建outputStream对象
C:把foutputStream对象指向这个文件
文件输出流是一种用于处理原始二进制数据的字节流类。为了将数据写入到文件中,必须将数据转换为字节,并保存到文件
注意,读的是字节,也就是0101,即文档中的a,读进来的是ASCii码,需要tostring转成字符串
1. /*
int read(byte[] b)
一次最多读取 b.length 个字节。
减少硬盘和内存的交互,提高程序的执行效率。
往byte[]数组当中读。
*/
例如一次最多读4个字节,文件为abcdef,第一次存了abcd,第二次只读了两个,数组中存的是efcd
所以,读多少个,取多少个
byte[] bytes = new byte[4]; // 准备一个4个长度的byte数组,一次最多读取4个字节。
// 这个方法的返回值是:读取到的字节数量。(不是字节本身)
int readCount = fis.read(bytes);
System.out.println(readCount); // 第一次读到了4个字节。
// 将字节数组全部转换成字符串
//System.out.println(new String(bytes)); // abcd
// 不应该全部都转换,应该是读取了多少个字节,转换多少个。
System.out.println(new String(bytes,0, readCount));
/*
FileInputStream类的其它常用方法:
int available():返回流当中剩余的没有读到的字节数量
long skip(long n):跳过几个字节不读。
*/